Episode 17 membahas ambient mesh: mode tanpa sidecar dengan ztunnel untuk security L4 dan waypoint untuk traffic L7, perbedaan dengan model sidecar dari sisi keamanan dan observability, serta status stability yang harus selalu dicek di release notes.

Sidecar sudah menjadi identitas Istio sejak awal — tapi bukan berarti satu-satunya cara. Episode 17 ini memperkenalkan ambient mesh: arsitektur tanpa sidecar yang memindahkan Envoy dari dalam Pod ke lapisan node dan waypoint terpusat. Tujuannya: mendapatkan manfaat mesh dengan overhead yang jauh lebih kecil.
Penting: ambient mesh terus berkembang. Sebelum memakai di produksi, selalu verifikasi status stability di release notes resmi Istio untuk versi kalian. Episode ini ditulis dengan pola pikir itu — bukan instruksi final, melainkan peta untuk menyelidiki sendiri.
Alih-alih satu Envoy per Pod, ambient memakai ztunnel (zero-trust tunnel): daemon yang berjalan di setiap node dan menangani security layer 4 (mTLS, autentikasi, tunnel) untuk semua Pod di node tersebut. Karena ztunnel tidak memproses traffic L7, overhead-nya jauh lebih kecil daripada sidecar.
Fitur seperti routing HTTP, retry, dan authorization L7 tidak gratis. Ambient menyediakannya lewat waypoint proxy — Envoy yang ditempatkan secara terpusat dan hanya memproses traffic yang benar-benar membutuhkannya:
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: waypoint-productpage
namespace: default
spec:
gatewayClassName: istio-waypoint
listeners:
- name: mesh
port: 15008
protocol: HBONEgatewayClassName: istio-waypoint memakai class Gateway bawaan Istio untuk membuat waypoint. Workload yang memakai waypoint ini mendapatkan fitur L7; yang tidak, cukup dengan L4 dari ztunnel.
Alur traffic ambient: Pod → ztunnel (L4, mTLS, tunnel HBONE) → waypoint (L7 opsional) → ztunnel tujuan → Pod. Fitur dikenakan sesuai kebutuhan, bukan untuk semua traffic secara default.
Di model sidecar, mTLS dan authorization menyatu di tiap Pod. Di ambient, mTLS dijamin oleh ztunnel secara default — tanpa intervensi — sementara authorization L4 juga berjalan di sana. Authorization L7 menunggu waypoint aktif. Polanya: keamanan dasar tanpa kerja ekstra, keamanan lanjutan sesuai permintaan.
Sidecar menghasilkan metrik per Pod secara otomatis. Ambient mengumpulkan telemetry dari ztunnel (L4) dan waypoint (L7). Karena tidak semua traffic lewat Envoy per-Pod, granularitasnya berbeda: alamat origin yang terlihat bisa berupa node, bukan Pod. Kiali dan dashboard perlu disetel ulang untuk memahami model ini.
Aturan yang tidak boleh dilewatkan: baca release notes versi Istio yang kalian pakai. Cari kata kunci ambient, beta, stable, dan experimental. Fitur yang experimental di satu versi bisa berubah di versi berikutnya tanpa peringatan — jangan mengajar atau mengadopsi fitur tanpa penanda status yang jelas.
Jika versi kalian mendukung ambient, aktifkan lewat profile:
istioctl install --set profile=ambient -y
kubectl label namespace default istio.io/dataplane-mode=ambientkubectl label namespace default istio.io/dataplane-mode=ambient membuat Pod di namespace tersebut masuk mode ambient — ztunnel menangani security-nya tanpa sidecar. Cek komponen yang berjalan:
kubectl get pods -n istio-system -l app=ztunnel
kubectl get gateway.gateway.networking.k8s.io -n defaultkubectl get pods -l app=ztunnel memastikan ztunnel aktif di tiap node.
Warning
Jangan mengadopsi ambient tanpa membaca release notes versi kalian sendiri. Fitur yang dijelaskan di sini bisa berbeda status stability-nya di rilis yang kalian gunakan.
Ambient bukan pengganti serba-bisa; ia adalah opsi dengan profil yang berbeda. Pertimbangkan ambient saat:
Pilih model sidecar saat:
Keputusan ini tidak harus semua-atau-tidak sama sekali: Istio mengizinkan campuran, di mana sebagian workload memakai sidecar dan sebagian memakai ambient, selama status stability di versi kalian mendukungnya. Uji perbandingan overhead dan fitur di staging sebelum memutuskan.
Episode 17 memperkenalkan arsitektur masa depan Istio: ambient mesh dengan ztunnel untuk security L4 di setiap node dan waypoint untuk fitur L7 saat dibutuhkan, lengkap dengan perbandingan keamanan, observability, dan trade-offs terhadap model sidecar — serta penegasan untuk selalu memverifikasi status stability di release notes.
Inti yang harus dibawa pulang:
Di episode 18 selanjutnya kita akan mengotomatiskan perubahan: CI/CD untuk konfigurasi Istio dan canary deployments — GitOps untuk CRD Istio, progressive delivery dengan Argo Rollouts atau Flagger, serta analisis otomatis istioctl analyze di pipeline.