Lewati ke konten utama
menjadi.dev
Chapter 11.3 DevOps Spesialisasi

Scaling dan Auto-Healing

Scale otomatis dan recovery dari failure

Tujuan Pembelajaran

  • Memahami HPA dan auto-healing
  • Bisa setup scaling policies

Analogi

Diagram

      Manual Scale = Naik turun tangga manual
Capek, lambat

Auto Scale = Lift otomatis
Datang sendiri saat butuh
    

HPA (Horizontal Pod Autoscaler) scale pod berdasarkan metrics

Penjelasan Konsep

Horizontal Pod Autoscaler (HPA)

Horizontal Pod Autoscaler (HPA) secara otomatis menambah atau mengurangi jumlah pod berdasarkan metrics.

Metrics yang bisa dipakai

  1. CPU Utilization. Scale up kalau CPU > 70%.
  2. Memory Usage. Scale up kalau memory hampir penuh.
  3. Custom Metrics. Request per detik, queue depth.

Cara kerja HPA

  1. Metrics server mengumpulkan data dari setiap pod.
  2. HPA membandingkan actual metrics dengan target.
  3. Kalau perlu, HPA ubah replicas di Deployment.
  4. Deployment buat atau hapus pod sesuai replicas baru.

Auto-Healing

K8s secara otomatis restart container yang crash. Replace pod yang mati di node yang failed. Reconcile state — kalau desired state 3 replicas tapi cuma 2 yang jalan, buat 1 lagi.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami HPA dan auto-healing., dan bisa setup scaling policies. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

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

Cara Membayangkannya

HPA (Horizontal Pod Autoscaler) scale pod berdasarkan metrics. 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. HPA scale Deployment web-app. Min 2 replicas, max 10. Scale saat CPU > 70%.

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: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: web-app-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: web-app
  minReplicas: 2
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 70

Penjelasan Kode

HPA scale Deployment web-app. Min 2 replicas, max 10. Scale saat CPU > 70%.

Prompt AI

Setup HPA untuk aplikasi dengan CPU target 70%.

Pertanyaan Reflektif

Kenapa HPA lebih baik dari manual scaling?