Logo
Artikel / Panduan Pod Disruption Budget & Graceful Shutdown Kubernetes 2026: Jaga SLA Saat Node Drain
Panduan Pod Disruption Budget & Graceful Shutdown Kubernetes 2026: Jaga SLA Saat Node Drain

Panduan Pod Disruption Budget & Graceful Shutdown Kubernetes 2026: Jaga SLA Saat Node Drain

3/4/2026

Keyword: pod disruption budget,pdb kubernetes,graceful shutdown,kubernetes drain,high availability,devops saas,rolling update,readiness probe,prestop hook,termination grace period,cluster upgrade,workload reliability,zero downtime deployment,pod lifecycle,kubernetes best practices

Mengapa Pod Disruption Budget penting untuk SaaS?

Di Kubernetes, voluntary disruption seperti node drain saat upgrade atau autoscaling bisa membuat pod turun bersamaan. Pod Disruption Budget (PDB) memberi batas aman agar hanya sejumlah pod yang boleh terganggu pada waktu yang sama. Ini membantu menjaga SLA saat cluster dikelola rutin, terutama untuk aplikasi SaaS dengan trafik stabil.

Konsep inti: voluntary vs involuntary disruption

Kubernetes membedakan gangguan yang involuntary (misalnya kegagalan node) dan voluntary (misalnya drain atau scale-down). PDB hanya membatasi voluntary disruption. Artinya, PDB bukan pengganti replikasi atau toleransi kegagalan, melainkan guardrail agar operasi rutin tidak mematikan terlalu banyak pod sekaligus.

Cara kerja PDB dalam praktik

  • minAvailable: jumlah minimum pod yang harus tetap tersedia.
  • maxUnavailable: jumlah maksimum pod yang boleh tidak tersedia.
  • PDB diikat ke workload lewat selector label.

Jika cluster admin melakukan drain dan jumlah pod yang tersisa melanggar PDB, drain akan tertunda sampai kapasitas cukup.

Checklist merancang PDB yang sehat

1) Hitung kapasitas minimum layanan

Tentukan berapa pod minimum agar latensi tetap aman. Misalnya, jika rata-rata 10 pod dan Anda bisa turun 2 pod, gunakan minAvailable: 8 atau maxUnavailable: 2.

2) Pastikan readiness probe akurat

Pod yang belum siap tidak dihitung tersedia. Readiness probe yang terlalu ketat bisa membuat PDB selalu “merah”.

3) Perhatikan workload stateful

Untuk database atau sistem quorum (mis. etcd), jangan biarkan PDB melanggar batas quorum. Praktik umum adalah maxUnavailable: 1.

Graceful shutdown: pasangan wajib PDB

PDB menjaga jumlah pod yang aman, sementara graceful shutdown memastikan pod yang dihentikan tidak memutus request aktif. Kombinasi keduanya memberi pengalaman zero-downtime.

Komponen graceful shutdown yang sering dipakai

  • preStop hook untuk melakukan drain koneksi atau menutup worker.
  • terminationGracePeriodSeconds yang cukup agar proses selesai dengan aman.
  • readiness probe yang segera menjadi not ready ketika shutdown dimulai.

Langkah implementasi ringkas (praktis)

  1. Audit jumlah pod minimum agar SLA tetap aman.
  2. Tambahkan PDB dengan minAvailable atau maxUnavailable.
  3. Perbaiki readiness & liveness probe supaya reflektif terhadap kondisi nyata.
  4. Tambahkan preStop hook + grace period untuk menyelesaikan request yang sedang berjalan.
  5. Uji dengan kubectl drain di environment staging.

Kesalahan umum yang perlu dihindari

  • PDB terlalu ketat: drain tidak pernah selesai karena minAvailable terlalu tinggi.
  • Readiness tidak akurat: pod dianggap unavailable padahal sebenarnya siap melayani.
  • Grace period terlalu pendek: request terputus dan error meningkat saat rolling update.

Referensi dan sumber lanjut

Rujukan utama dapat dibaca di Kubernetes Docs — Pod Disruption Budget. Untuk konteks jenis gangguan, lihat Disruptions, serta detail proses terminasi pod pada Pod Lifecycle.

Penutup

Dengan PDB yang tepat dan graceful shutdown yang konsisten, tim DevOps bisa melakukan upgrade cluster tanpa mengorbankan ketersediaan aplikasi SaaS. Fokus pada kapasitas minimum, readiness yang benar, dan proses shutdown yang aman adalah kunci menjaga SLA tetap stabil di 2026.

Sumber referensi awal: https://kubernetes.io/docs/tasks/run-application/configure-pdb/