Kalau kamu mulai masuk ke dunia DevOps, VPS, atau container seperti Kubernetes, pasti sering ketemu file dengan ekstensi .yaml atau .yml. Nah, itulah yang disebut konfigurasi YAML. Meski Kubernetes terlihat mudah dan sederhana, file ini punya peran penting dalam mengatur sistem dan aplikasi secara otomatis.
Buat pemula, YAML memang terlihat membingungkan karena sangat sensitif terhadap spasi. Tapi kalau sudah paham dasarnya, justru terasa lebih simpel dibanding format konfigurasi lain.
Apa Itu YAML dan Kenapa Banyak Digunakan?
YAML adalah singkatan dari “YAML Ain’t Markup Language”. Format ini dirancang agar mudah dibaca manusia. Struktur penulisannya menggunakan indentasi atau spasi untuk menunjukkan hierarki data.
Banyak platform modern menggunakan YAML sebagai file konfigurasi, termasuk Kubernetes. Dalam Kubernetes, hampir semua deployment, service, dan pod diatur melalui file YAML.
Selain Kubernetes, YAML juga sering dipakai dalam CI/CD, Docker Compose, dan berbagai tools cloud lainnya.
Cara Kerja Konfigurasi YAML dalam Sistem
YAML bekerja dengan format key dan value. Setiap baris mewakili pengaturan tertentu, dan struktur di dalamnya ditentukan oleh indentasi. Tidak seperti JSON yang penuh tanda kurung, YAML terlihat lebih bersih dan mudah dipahami.
Contohnya dalam Kubernetes, kamu bisa mendefinisikan nama aplikasi, jumlah replica, image container, hingga port yang digunakan hanya dalam satu file YAML. Setelah itu, file tersebut dijalankan menggunakan perintah kubectl apply, dan sistem akan membaca konfigurasi tersebut secara otomatis.
Karena berbasis teks, YAML juga mudah disimpan di Git untuk version control.
Contoh File YAML yang paling sering dipakai
Berikut contoh file YAML yang paling sering dipakai di dunia server modern, khususnya untuk deployment di Kubernetes. Contoh ini adalah file untuk membuat satu Deployment aplikasi berbasis Nginx dengan 2 replica.
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-nginx
labels:
app: web-nginx
spec:
replicas: 2
selector:
matchLabels:
app: web-nginx
template:
metadata:
labels:
app: web-nginx
spec:
containers:
- name: nginx-container
image: nginx:latest
ports:
- containerPort: 80
resources:
requests:
memory: "128Mi"
cpu: "250m"
limits:
memory: "256Mi"
cpu: "500m"
apiVersion: menentukan versi API Kubernetes yang digunakan.kind: menunjukkan jenis resource, dalam contoh ini adalah Deployment.replicas: berarti jumlah pod yang akan dijalankan.containers: berisi detail image, port, serta batas resource CPU dan RAM.
Kenapa Harus Hati-Hati Saat Menulis YAML?
Kesalahan kecil seperti kurang satu spasi bisa membuat konfigurasi gagal dijalankan. YAML tidak mentoleransi indentasi yang salah. Karena itu, penting menggunakan text editor yang mendukung syntax highlight agar lebih aman.
Selain itu, pastikan struktur file sesuai dokumentasi resmi dari tool yang digunakan. Jangan asal copy paste tanpa memahami setiap barisnya.
Kesimpulan
Konfigurasi YAML adalah fondasi penting dalam dunia server modern dan container orchestration. Formatnya sederhana, mudah dibaca, dan fleksibel untuk berbagai kebutuhan. Kalau kamu ingin serius belajar Kubernetes atau sistem cloud modern, memahami YAML adalah langkah wajib. Dengan latihan rutin, kamu akan terbiasa membaca dan menulis konfigurasi tanpa takut error karena spasi.