Lewati ke konten utama
menjadi.dev
Chapter 11.2 DevOps Spesialisasi

Kubernetes: Dasar

Orkestrasi container di scale besar

Tujuan Pembelajaran

  • Memahami konsep Kubernetes
  • Bisa menulis manifest YAML

Analogi

Diagram

      Docker = Mengemudi sendiri
Kamu kontrol semua

Kubernetes = Autopilot
Otomatis mengatur, scale, heal
    

Kubernetes mengotomasi deploy, scale, dan healing container

Penjelasan Konsep

Kubernetes (K8s)

Kubernetes (K8s) adalah platform orkestrasi container. K8s mengotomasi deployment, scaling, dan management aplikasi container.

Konsep dasar K8s

  1. Pod. Unit terkecil di K8s. Satu pod bisa berisi satu atau lebih container.
  2. Deployment. Mengelola replicas pod. Kalau pod mati, Deployment buat yang baru.
  3. Service. Expose pod ke network. Pod bisa diakses via Service.
  4. Namespace. Memisahkan resource antar team atau environment.

Cara kerja

Kamu menulis manifest YAML yang mendeskripsikan desired state. K8s memastikan actual state sesuai dengan desired state.

Control Plane

  • API Server. Entry point untuk semua perintah.
  • Scheduler. Menentukan pod di node mana.
  • Controller Manager. Menjaga desired state.
  • etcd. Database konfigurasi cluster.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami konsep Kubernetes., dan bisa menulis manifest YAML. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca Kubernetes, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

Kubernetes mengotomasi deploy, scale, dan healing container. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Saat Melihat Contoh Kode

Contoh kode pada chapter ini memakai bahasa yaml. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. Deployment dengan 3 replicas. Selector matchLabels menghubungkan ke Pod template. Container expose port 3000.

Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Contoh Kode

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - name: web
        image: myapp:v1
        ports:
        - containerPort: 3000

Penjelasan Kode

Deployment dengan 3 replicas. Selector matchLabels menghubungkan ke Pod template. Container expose port 3000.

Prompt AI

Deploy aplikasi ke Kubernetes dengan 3 replicas.

Pertanyaan Reflektif

Bedanya Pod, Deployment, dan Service?