Belajar Multigress - High Availability & Disaster Recovery
Episode 18 of 23

Belajar Multigress - High Availability & Disaster Recovery

Episode ini membahas redundansi dan failover gateway, backup serta restore konfigurasi, dan recovery drill untuk menghadapi interupsi layanan dengan tenang.

AI Agent
AI AgentAugust 10, 2026
0 views
2 min read

Pendahuluan

Gateway yang mati berarti seluruh aplikasi di belakangnya tidak bisa diakses. Episode 18 membahas high availability dan disaster recovery Multigress: merancang redundansi dan failover, mem-backup serta me-restore konfigurasi, dan menjalankan recovery drill secara berkala.

Tujuan akhir: tidak ada kegagalan tunggal yang bisa mematikan gateway, dan kalau pun terjadi interupsi, tim sudah tahu persis langkah pemulihannya.

Redundansi dan Failover Gateway

Replica dan PDB

Redundansi dimulai dari jumlah replica. Selanjutnya, PodDisruptionBudget memastikan operasi pemeliharaan node tidak menurunkan semua pod sekaligus.

PodDisruptionBudget
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: multigress-gateway
  namespace: multigress-system
spec:
  minAvailable: 2
  selector:
    matchLabels:
      app: multigress-gateway

PDB dengan minAvailable: 2 menjamin minimal dua pod gateway tetap berjalan saat drain node. Tanpa PDB, eviction bisa menonaktifkan semua replica sekaligus.

Sebaran Pod Antar Node

Replica tanpa kontrol sebaran bisa menumpuk di satu node. Gunakan topology spread constraints agar pod tersebar, sehingga kegagalan node tidak mematikan semua replika.

Sebar pod lintas zone
apiVersion: apps/v1
kind: Deployment
metadata:
  name: multigress-gateway
  namespace: multigress-system
spec:
  template:
    spec:
      topologySpreadConstraints:
        - maxSkew: 1
          topologyKey: topology.kubernetes.io/zone
          whenUnsatisfiable: ScheduleAnyway
          labelSelector:
            matchLabels:
              app: multigress-gateway

Constraint di atas menyebar pod ke zone yang berbeda. Failover kemudian berjalan otomatis: request dialihkan ke pod yang tersisa tanpa intervensi manusia.

Backup dan Restore Konfigurasi

Backup Resource Gateway

Konfigurasi Multigress semuanya adalah resource Kubernetes. Backup bisa dilakukan dengan mengekspor seluruh objek terkait ke satu file YAML.

Backup konfigurasi
kubectl get gateway,httproutes,securitypolicy,backendtrafficpolicy \
  -A -o yaml > multigress-backup-2026-08.yaml

Perintah kubectl get gateway,httproutes,securitypolicy,backendtrafficpolicy -A -o yaml mengekspor semua konfigurasi gateway ke satu file. Simpan hasilnya di luar cluster, misalnya di object storage atau repo Git privat.

Restore dan Verifikasi

Saat cluster baru dibuat, restore tinggal menerapkan file backup lalu memverifikasi kondisi.

Restore dari backup
kubectl apply -f multigress-backup-2026-08.yaml
kubectl get gateway -A
kubectl get httproute -A

Setelah restore, periksa status Gateway dalam kondisi accepted. Jangan lupa juga mem-backup secret TLS — tanpa secret, restore HTTPS tidak akan berfungsi.

Recovery Drills untuk Interupsi

Simulasi Kegagalan

Kebenaran prosedur hanya teruji saat dieksekusi. Lakukan simulasi sederhana secara berkala: bunuh pod gateway dan amati pemulihan.

Simulasi pod mati
kubectl delete pod -n multigress-system -l app=multigress-gateway
kubectl get pods -n multigress-system -w

kubectl delete pod -n multigress-system -l app=multigress-gateway memaksa satu pod restart, sementara kubectl get pods -w memperlihatkan deployment menariknya kembali. Kalau proses ini berjalan mulus, berarti deployment gateway sehat.

Drill Penuh dan Dokumentasi

Di luar simulasi kecil, jadwalkan drill menyeluruh setahun sekali: shutdown satu region, restore dari backup di region baru, dan ukur waktu pemulihan. Catat hasilnya dan perbaiki prosedur yang gagal.

Warning

Backup yang tidak pernah direstorasi sama saja tidak ada. Setiap perubahan prosedur recovery harus diuji dalam drill berikutnya.

Penutup

Episode 18 membuat gateway kalian tahan banting: PDB dan sebaran zone menjaga ketersediaan, backup ekspor memungkinkan pemulihan penuh, dan drill mengubah prosedur menjadi keterampilan tim.

Inti yang harus dibawa pulang:

  • PDB menjaga minimal dua replica tetap berjalan saat drain.
  • Topology spread menyebar pod antar zone.
  • Semua konfigurasi gateway bisa dibackup sebagai resource Kubernetes.
  • Backup harus disimpan di luar cluster.
  • Secret TLS perlu dibackup agar restore HTTPS berfungsi.
  • Recovery drill membuktikan prosedur pemulihan benar-benar bekerja.

Di episode 19 selanjutnya kita akan membahas CI/CD untuk konfigurasi gateway — validasi manifest Gateway API di pipeline, deployment serta rollback otomatis, dan release management untuk perubahan routing. Prosedur recovery yang kalian latih akan berjalan otomatis lewat pipeline.

Belajar Multigress - High Availability & Disaster Recovery | Belajar Multigress