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

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.
Hardening dimulai dari asumsi bahwa semuanya tertutup sampai terbukti aman. Terapkan default deny di level gateway agar route tanpa policy tidak bisa dieksploitasi.
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: DENYPolicy global-default-deny menolak semua request yang tidak lolos policy lain yang lebih spesifik. Setiap route baru wajib membawa policy eksplisit sebelum trafik diteruskan.
Jangan lupa sisi operand. Scan image gateway secara berkala dan batasi hak akses service account dengan RBAC minimal.
trivy image --severity HIGH,CRITICAL \
registry.example.com/multigress/gateway:1.30.0Perintah 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.
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.
kubectl get gateway -A --show-labels
kubectl get httproute -A --show-labelsKeluaran kubectl get gateway -A --show-labels memperlihatkan label tiap gateway. Kalau ada objek tanpa label tim dan environment, itu sinyal konfigurasi belum masuk standar.
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 gateway di lingkungan staging dulu, lalu produksi. Catatan rilis chart adalah sumber utama daftar perubahan perilaku.
helm repo update
helm upgrade multigress multigress/multigress \
--namespace multigress-system \
--version 1.31.0 \
--dry-runPerintah 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.
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.
curl -s -o /dev/null -w "%{http_code}\n" https://api.example.com/health
kubectl get gateway -A
kubectl get prometheusrule -AJalankan 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.
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:
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.