Belajar Multigress - Production Hardening & Best Practices
Episode 22 of 23

Belajar Multigress - Production Hardening & Best Practices

Episode terakhir membahas security hardening, traffic governance dan configuration hygiene, serta upgrade path dan compatibility check untuk menjadikan gateway kalian benar-benar siap produksi.

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

Pendahuluan

Ini adalah episode terakhir series Belajar Multigress. Episode 22 membahas production hardening dan best practices: memperketat keamanan, menegakkan governance traffic dan kebersihan konfigurasi, serta menyiapkan upgrade path dan pemeriksaan kompatibilitas yang aman.

Dari episode 0 sampai 21 kalian sudah membangun gateway dari nol. Sekarang waktunya menguji ulang setiap keputusan dengan standar produksi yang ketat.

Security Hardening

Default Deny dan Least Privilege

Hardening dimulai dari asumsi bahwa semuanya tertutup sampai terbukti aman. Terapkan default deny di level gateway agar route tanpa policy tidak bisa dieksploitasi.

Default deny global
apiVersion: gateway.multigress.io/v1
kind: SecurityPolicy
metadata:
  name: global-default-deny
  namespace: multigress-system
spec:
  targetRefs:
    - group: gateway.networking.k8s.io
      kind: Gateway
      name: multigress-gateway
  authorization:
    rules:
      - action: DENY

Policy global-default-deny menolak semua request yang tidak lolos policy lain yang lebih spesifik. Setiap route baru wajib membawa policy eksplisit sebelum trafik diteruskan.

Image Scanning dan RBAC

Jangan lupa sisi operand. Scan image gateway secara berkala dan batasi hak akses service account dengan RBAC minimal.

Scan image gateway
trivy image --severity HIGH,CRITICAL \
  registry.example.com/multigress/gateway:1.30.0

Perintah trivy image --severity HIGH,CRITICAL menemukan CVE sebelum image dipakai. Temuan critical harus memblokir rilis, bukan sekadar catatan.

Audit RBAC secara berkala juga penting: service account gateway hanya perlu membaca route dan secret di namespace miliknya, tidak lebih.

Traffic Governance dan Configuration Hygiene

Konvensi dan Standar Penamaan

Konfigurasi yang rapi adalah konfigurasi yang bisa di-review. Tetapkan konvensi penamaan untuk route, hostname, dan policy, lalu pastikan setiap objek punya label dan anotasi identitas yang jelas.

Audit label konfigurasi
kubectl get gateway -A --show-labels
kubectl get httproute -A --show-labels

Keluaran kubectl get gateway -A --show-labels memperlihatkan label tiap gateway. Kalau ada objek tanpa label tim dan environment, itu sinyal konfigurasi belum masuk standar.

Policy as Code dan Review

Semua kebijakan sudah menjadi kode: SecurityPolicy, BackendTrafficPolicy, dan manifest lain berada di repo. Perubahan lewat pull request dengan review, validasi CI dari episode 19, dan audit berkala terhadap apa yang ada di cluster versus apa yang ada di repo.

Warning

Konfigurasi di cluster yang tidak ada di repo disebut drift. Lakukan reconciliation otomatis dengan GitOps dan perbaiki drift sesegera mungkin.

Upgrade Path dan Compatibility Check

Upgrade Bertahap

Upgrade gateway di lingkungan staging dulu, lalu produksi. Catatan rilis chart adalah sumber utama daftar perubahan perilaku.

Upgrade chart
helm repo update
helm upgrade multigress multigress/multigress \
  --namespace multigress-system \
  --version 1.31.0 \
  --dry-run

Perintah helm upgrade multigress multigress/multigress --version 1.31.0 --dry-run mensimulasikan upgrade tanpa mengubah cluster. Periksa diff manifest yang dihasilkan sebelum benar-benar menerapkannya.

Verifikasi Kompatibilitas

Setelah upgrade, verifikasi tidak cukup dengan status pod hijau. Uji hal yang dijanjikan: route yang sama meneruskan traffic dengan benar, TLS tetap berfungsi, dan metrik tetap keluar.

Smoke test pasca upgrade
curl -s -o /dev/null -w "%{http_code}\n" https://api.example.com/health
kubectl get gateway -A
kubectl get prometheusrule -A

Jalankan smoke test sederhana setelah upgrade dan bandingkan hasilnya dengan sebelum upgrade. Perubahan sekecil apa pun pada status route atau metrik harus diselidiki sebelum diputuskan selesai.

Kembali ke dokumentasi resmi Multigress dan Gateway API secara berkala. Fitur eksperimental bisa berubah antarmukanya; jangan menaruh fondasi produksi di atas fitur yang belum stabil.

Penutup

Episode 22 menutup perjalanan kalian dengan standar produksi: default deny dan image scanning mengunci keamanan, konvensi dan GitOps menjaga kebersihan konfigurasi, serta upgrade bertahap menjaga kompatibilitas jangka panjang.

Inti yang harus dibawa pulang:

  • Default deny menjadikan route terbuka sebagai pengecualian, bukan aturan.
  • Image scanning dan RBAC minimal menutup sisi operand.
  • Konvensi penamaan membuat konfigurasi mudah di-review.
  • Policy as code menjaga kebijakan tetap auditabel.
  • Drift antara cluster dan repo harus segera diperbaiki.
  • Upgrade bertahap dan compatibility check menjaga kestabilan.

Perjalanan series Belajar Multigress selesai: kalian sudah membangun, mengamankan, mengukur, dan mengoperasikan gateway Kubernetes dari episode 0 hingga episode 22. Sebagai penutup, evaluasi kembali episode 4, 5, 12, 14, dan 20 untuk memperdalam area yang paling relevan dengan pekerjaan kalian, dan jadikan seluruh episode sebagai checklist saat membangun gateway produksi berikutnya.

Belajar Multigress - Production Hardening & Best Practices | Belajar Multigress