Belajar Chef - Pre-Requisites Skill & Setup Environment
Episode 0 of 23

Belajar Chef - Pre-Requisites Skill & Setup Environment

Sebelum masuk lebih dalam ke Chef, ada beberapa skill dasar dan tools yang perlu kalian siapkan terlebih dahulu, mulai dari Linux, dasar Ruby, konsep infrastructure as code, hingga instalasi Chef Workstation.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Selamat datang di series Belajar Chef! Series ini akan mengajak kalian menguasai Chef Infra dari nol hingga level siap produksi, mulai dari resource dan cookbook, Chef Infra Server, Policyfiles, Chef InSpec untuk compliance, hingga Chef Automate dan deployment ke production. Target kita jelas: menjadi DevOps Engineer, Systems Administrator, atau Platform Engineer yang mampu mengelola ratusan hingga ribuan server sebagai kode.

Namun seperti pepatah, "pohon tidak akan tumbuh subur tanpa akar yang kuat". Chef bukan aplikasi yang bisa langsung dipakai tanpa bekal. Chef adalah configuration management tool yang ditulis dalam Ruby, berjalan di atas Linux/Unix, dan berdiri di atas konsep infrastructure as code (IaC) dengan model desired state. Jika kalian belum familiar dengan ketiganya, perjalanan belajar akan terasa sangat tersendat.

Episode 0 ini adalah peta jalan. Kita akan membahas tiga skill fundamental yang wajib dimiliki, lalu menyiapkan seluruh perangkat software yang dibutuhkan, menginstall Chef Workstation, dan menutupnya dengan verifikasi instalasi. Setelah episode ini selesai, kalian sudah benar-benar siap melangkah ke episode 1 yang membahas sejarah dan latar belakang mengapa Chef dibutuhkan.

Skill Dasar yang Wajib Dimiliki

Tanpa skill ini, setup tools secanggih apapun tidak akan berguna. Berikut tiga pilar skill yang harus kalian kuasai setidaknya di level dasar.

Dasar Linux & Unix

Chef lahir dan tumbuh besar di ekosistem Linux/Unix. Mayoritas node yang dikelola Chef adalah server Linux, jadi kemampuan mengoperasikan Linux melalui CLI adalah syarat mutlak. Beberapa kemampuan yang paling sering dipakai:

  1. Package manager (apt untuk Debian/Ubuntu, yum/dnf untuk RHEL/Rocky) — karena resource package di Chef pada dasarnya membungkus tool ini.
  2. Service management (systemctl, systemd) — resource service di Chef mengontrol ini.
  3. User & file permission (useradd, chown, chmod) — mengelola user dan group juga dilakukan Chef.
LinuxPerintah Linux yang paling sering dipakai Chef
sudo apt update                # update index package (Debian/Ubuntu)
sudo apt install -y nginx      # install package
sudo systemctl enable --now nginx   # aktifkan service
sudo useradd -m -s /bin/bash deploy   # buat user baru
chmod 755 /opt/app/deploy.sh   # atur permission file

Dasar Ruby

Ini mungkin yang paling sering diremehkan. Cookbook Chef ditulis dalam DSL RubyDomain Specific Language di atas Ruby. Kalian tidak perlu jadi programmer Ruby profesional, tapi harus paham sintaks dasar berikut:

  • Hash: pasangan key-value, contoh { "name" => "web", "port" => 80 }.
  • Block: potongan kode yang dibungkus do ... end.
  • String interpolation: menyisipkan variabel ke string menggunakan tanda pagar di dalam kurung kurawal.
Dasar Ruby yang dipakai di cookbook
# Hash biasa
node = { "name" => "web-01", "port" => 80 }
 
# Block
[1, 2, 3].each do |num|
  puts num
end
 
# Interpolasi string
puts "Server #{node["name"]} berjalan di port #{node["port"]}"

Tip

Kabar baiknya, kalian tidak perlu menghafal semua sintaks Ruby. Cukup paham cara membaca dan memodifikasi hash, block, dan interpolasi string — 80 persen recipe Chef yang kalian temui di dunia nyata hanya memakai tiga hal itu.

Konsep IaC & Configuration Management

Pemahaman konsep ini menentukan seberapa cepat kalian menangkap filosofi Chef. Dua konsep inti yang wajib dipahami:

  1. Idempotency: operasi yang bisa dijalankan berulang kali tanpa mengubah hasil. Jika file sudah ada dengan isi yang benar, resource tidak melakukan apa-apa. Chef menjamin ini secara default.
  2. Desired state: kita mendeskripsikan keadaan akhir yang diinginkan (misal "nginx versi 1.24 terinstall dan berjalan"), lalu Chef yang memutuskan langkah untuk mencapai keadaan itu — bukan kita yang menuliskan langkah demi langkah secara imperatif.
KonsepProsedural / ImperatifDeclarative / Desired State
PendekatanTulis langkah demi langkahTulis hasil akhir yang diinginkan
IdempotensiTidak dijaminDijamin secara default
Contoh toolShell scripting manualChef, Ansible, Puppet, Terraform

Perangkat Software yang Disiapkan

Setelah skill terpenuhi, saatnya menyiapkan perangkat. Berikut ringkasan tools yang dibutuhkan:

NoToolTypeLevelKeterangan
1.Linux (Ubuntu/Debian/Rocky)OSWajibEnvironment utama belajar & node uji
2.Chef Infra Client 19.xSoftwareWajibAgent di node, menjalankan konfigurasi
3.Chef WorkstationSoftwareWajibBerisi chef, knife, berks, kitchen
4.Node uji (VM/Container)SoftwareWajibTarget latihan konfigurasi
5.Akun SupermarketSoftwareOpsionalUntuk mengambil & berbagi cookbook
6.Text EditorSoftwareWajibVS Code/Neovim untuk menulis recipe

Chef Infra Client 19.x

Chef Infra Client adalah agent yang berjalan di setiap node yang dikelola. Versi 19.x adalah versi LTS (Long Term Support) yang stabil di tahun 2026, berbasis Ruby 3.4, dan tidak lagi memakai omnibus installer melainkan berbasis Habitat. Di episode 3 kita akan membahas instalasinya secara detail.

Chef Workstation

Chef Workstation adalah toolkit yang dipasang di mesin developer (bukan di node). Di dalamnya terdapat beberapa binary utama:

  • chef — generator cookbook dan berbagai utilitas development.
  • knife — CLI utama untuk berkomunikasi dengan Chef Infra Server.
  • berks — dependency manager untuk cookbook (Berkshelf).
  • kitchen — Test Kitchen untuk menguji cookbook di VM/container lokal.

Node Uji (VM/Container)

Untuk berlatih, kalian butuh minimal 1-2 node uji yang menjalankan Linux. Bisa berupa VirtualBox, multipass, Proxmox, atau bahkan container Docker untuk latihan ringan. Yang penting node tersebut bisa dijangkau melalui SSH dari workstation.

Instalasi Chef Workstation

Saatnya praktik. Chef menyediakan beberapa metode instalasi; pilih yang paling nyaman.

Metode 1: Instalasi Native

Metode paling umum adalah mengunduh installer dari downloads.chef.io, atau menggunakan mixlib-install yang otomatis mendeteksi platform dan mengunduh paket yang sesuai.

Install Chef Workstation di Ubuntu/Debian
# 1. Download paket workstation terbaru
wget https://packages.chef.io/files/stable/chef-workstation/latest/ubuntu/22.04/chef-workstation_latest_amd64.deb
 
# 2. Install
sudo dpkg -i chef-workstation_latest_amd64.deb
 
# 3. Setup PATH
echo 'eval "$(chef shell-init bash)"' >> ~/.bashrc
source ~/.bashrc

Metode 2: Docker

Jika kalian tidak ingin mengotori mesin utama, gunakan image resmi chef/chefworkstation:

Menjalankan Chef Workstation di container
docker run --rm -it -v $(pwd):/workdir -w /workdir chef/chefworkstation bash

Note

Metode Docker sangat disarankan untuk latihan karena environment selalu bersih dan mudah di-reset. Cukup jalankan container baru setiap kali ingin mulai dari nol.

Verifikasi Instalasi

Setelah terpasang, verifikasi bahwa semua binary utama tersedia:

Verifikasi Chef Workstation
chef -v
knife -v
berks -v
kitchen version
Contoh output chef -v (disederhanakan)
Chef Workstation version: 23.x
Chef Infra Client version: 19.x
Chef InSpec version: 6.x
Chef Habitat version: 1.6.x
Test Kitchen version: 3.x
Berkshelf version: 8.x

Jika keempat perintah di atas mengeluarkan versi, instalasi kalian sukses.

Penutup

Di episode 0 ini kita sudah menyiapkan pijakan yang kokoh: menguasai tiga skill fundamental (Linux/Unix, dasar Ruby, dan konsep IaC), menyiapkan perangkat software yang dibutuhkan, menginstall Chef Workstation, dan memverifikasinya.

Inti yang harus dibawa pulang:

  • Linux dasar adalah fondasi — Chef bekerja di atas package manager, service manager, dan permission file.
  • Ruby dasar cukup dipelajari 20 persennya (hash, block, interpolasi) karena cookbook adalah DSL Ruby.
  • Idempotency dan desired state adalah filosofi inti configuration management.
  • Chef Workstation berisi chef, knife, berks, dan kitchen — pastikan keempatnya terverifikasi.
  • Node uji (VM/container) diperlukan sejak hari pertama untuk berlatih.

Pastikan semua skill dan tools di atas sudah siap, karena perjalanan baru dimulai. Di episode 1 selanjutnya, kita akan membahas sejarah, latar belakang, dan mengapa dunia modern membutuhkan Chef — mulai dari evolusi automation dari scripting manual hingga Infrastructure as Code, serta perbandingan awal dengan Ansible, Puppet, dan SaltStack.