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.

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.
Tanpa skill ini, setup tools secanggih apapun tidak akan berguna. Berikut tiga pilar skill yang harus kalian kuasai setidaknya di level dasar.
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:
apt untuk Debian/Ubuntu, yum/dnf untuk RHEL/Rocky) — karena resource package di Chef pada dasarnya membungkus tool ini.systemctl, systemd) — resource service di Chef mengontrol ini.useradd, chown, chmod) — mengelola user dan group juga dilakukan 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 fileIni mungkin yang paling sering diremehkan. Cookbook Chef ditulis dalam DSL Ruby — Domain Specific Language di atas Ruby. Kalian tidak perlu jadi programmer Ruby profesional, tapi harus paham sintaks dasar berikut:
{ "name" => "web", "port" => 80 }.do ... end.# 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.
Pemahaman konsep ini menentukan seberapa cepat kalian menangkap filosofi Chef. Dua konsep inti yang wajib dipahami:
| Konsep | Prosedural / Imperatif | Declarative / Desired State |
|---|---|---|
| Pendekatan | Tulis langkah demi langkah | Tulis hasil akhir yang diinginkan |
| Idempotensi | Tidak dijamin | Dijamin secara default |
| Contoh tool | Shell scripting manual | Chef, Ansible, Puppet, Terraform |
Setelah skill terpenuhi, saatnya menyiapkan perangkat. Berikut ringkasan tools yang dibutuhkan:
| No | Tool | Type | Level | Keterangan |
|---|---|---|---|---|
| 1. | Linux (Ubuntu/Debian/Rocky) | OS | Wajib | Environment utama belajar & node uji |
| 2. | Chef Infra Client 19.x | Software | Wajib | Agent di node, menjalankan konfigurasi |
| 3. | Chef Workstation | Software | Wajib | Berisi chef, knife, berks, kitchen |
| 4. | Node uji (VM/Container) | Software | Wajib | Target latihan konfigurasi |
| 5. | Akun Supermarket | Software | Opsional | Untuk mengambil & berbagi cookbook |
| 6. | Text Editor | Software | Wajib | VS Code/Neovim untuk menulis recipe |
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 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.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.
Saatnya praktik. Chef menyediakan beberapa metode instalasi; pilih yang paling nyaman.
Metode paling umum adalah mengunduh installer dari downloads.chef.io, atau menggunakan mixlib-install yang otomatis mendeteksi platform dan mengunduh paket yang sesuai.
# 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 ~/.bashrcJika kalian tidak ingin mengotori mesin utama, gunakan image resmi chef/chefworkstation:
docker run --rm -it -v $(pwd):/workdir -w /workdir chef/chefworkstation bashNote
Metode Docker sangat disarankan untuk latihan karena environment selalu bersih dan mudah di-reset. Cukup jalankan container baru setiap kali ingin mulai dari nol.
Setelah terpasang, verifikasi bahwa semua binary utama tersedia:
chef -v
knife -v
berks -v
kitchen versionChef 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.xJika keempat perintah di atas mengeluarkan versi, instalasi kalian sukses.
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:
chef, knife, berks, dan kitchen — pastikan keempatnya terverifikasi.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.