Episode penutup menyatukan semuanya: checklist security hardening, checklist operasional dengan debugging tools dan runbook, serta pertimbangan upgrade Envoy dan strategi fallback untuk production.

Series ini berakhir bukan dengan materi baru, melainkan dengan penyatuan: production hardening dan best practices. Episode 22 merangkum semua yang kalian pelajari menjadi dua checklist — keamanan dan operasional — ditambah cara menghadapi upgrade Envoy dan strategi fallback saat terjadi masalah.
Ini episode yang paling dekat dengan pekerjaan sehari-hari seorang engineer platform. Kalian tidak akan menemukan konfigurasi baru di sini; kalian akan menemukan urutan prioritas dan kebiasaan yang membedakan lab dari production.
Berikut checklist keamanan yang wajib kalian tinjau sebelum Envoy melayani traffic production:
failure_mode_deny untuk API publik.Admin interface Envoy sangat kuat — dan sangat berbahaya jika terbuka ke publik:
curl -s -o /dev/null -w "%{http_code}\n" http://localhost:9901/server_info
curl -s localhost:9901/stats | grep "admin"Jika server_info bisa diakses dari jaringan publik, kalian harus segera membatasi. Praktik yang disarankan:
0.0.0.0; gunakan 127.0.0.1 atau network internal.Tambahan yang sering terlupakan:
failure_mode_allow tidak menyala tanpa alasan pada filter keamanan.Checklist ini menangani sisi jalan yang sehat:
envoy --mode validate di CI.Runbook adalah langkah pemulihan yang sudah ditulis sebelumnya. Satu runbook yang wajib ada untuk Envoy: "Envoy tidak sehat". Isi minimalnya:
local:9901/healthcheck/fail atau pastikan readiness gagal.local:9901/server_info dan log startup.upstream_cx_total, upstream_rq_5xx, listener_downstream_cx_active.kubectl rollout undo atau git revert.curl -s localhost:9901/server_info
curl -s localhost:9901/config_dump | head -30
curl -s localhost:9901/stats | grep -E "upstream_rq_5xx|downstream_cx_active"
docker logs envoy-prod 2>&1 | tail -50Empat perintah runbook di atas mengumpulkan informasi diagnosis dalam satu sesi. Perintah inilah yang sering kali langsung mengungkap akar masalah sebelum langkah lain diambil.
Runbook tidak berguna jika tidak pernah diuji. Lakukan drill berkala: matikan satu control plane, restart satu Envoy, atau aktifkan fault injection di staging. Latihan membuat tim yakin runbook benar-benar bekerja saat insiden nyata datang.
Upgrade Envoy perlu perencanaan karena beberapa fitur berubah antar versi:
envoy --version | grep "version"
docker images envoyproxy/envoy --format "{{.Tag}}"Perintah envoy --version memastikan binary yang berjalan. Selalu catat versi config yang dipakai bersama versi Envoy — pasangan config-versi inilah yang penting untuk rollback.
Fallback berarti punya jalan keluar cepat saat upgrade atau perubahan menyebabkan masalah:
drain_listeners.curl -s -X POST localhost:9901/drain_listeners
curl -s -X POST localhost:9901/healthcheck/failPerintah drain_listeners dan healthcheck/fail adalah pintu keluar yang aman: Envoy berhenti menerima koneksi baru sambil menyelesaikan request yang berjalan, lalu pod bisa dihentikan tanpa memutus traffic.
Buat tabel kompatibilitas config terhadap versi Envoy: fitur apa yang dipakai, di versi berapa fitur tersebut stabil, dan config mana yang perlu berubah saat upgrade. Matriks ini mengubah upgrade dari peristiwa menegangkan menjadi langkah terjadwal.
Menutup episode 22, mari rangkum perjalanan 23 episode ini:
Setiap konsep yang muncul di production Envoy — di Istio, Gloo, atau deployment langsung — kini punya makna bagi kalian karena kalian pernah membangunnya dari dasar.
Episode 22 menutup series dengan disiplin production: checklist keamanan dan operasional, runbook yang teruji, serta strategi upgrade dan fallback yang membuat perubahan tidak menakutkan.
Inti yang harus dibawa pulang:
Sampai jumpa di series berikutnya! Kalian kini bisa membaca config Envoy di service mesh mana pun dengan percaya diri. Jika kalian ingin lanjut belajar, rekomendasi saya adalah mendalami Istio sebagai penerapan paling matang dari Envoy sebagai data plane, atau membangun control plane xDS sendiri dengan go-control-plane untuk memahami protokol dari dalam. Selamat berkarya dengan Envoy!