Setiap komponen dalam jalur permintaan — mulai dari load balancer hingga pod gateway — memengaruhi latensi dan uptime. Jika salah satu lapisan dikonfigurasi secara tidak tepat, lapisan tersebut dapat menjadi bottleneck atau single point of failure bagi seluruh traffic yang masuk ke mesh Anda. Topik ini menjelaskan cara mengonfigurasi gerbang masuk Service Mesh (ASM) agar memiliki latensi rendah, throughput tinggi, dan toleransi terhadap kesalahan.
Cara kerja
Gerbang ASM adalah komponen utama Istio yang mengelola traffic ingress dan egress untuk instans ASM. Saat Anda membuat gerbang ASM, deployment istio-ingressgateway dibuat di namespace istio-system kluster Container Service for Kubernetes (ACK) Anda. Sebuah instans Classic Load Balancer (CLB) ditempatkan di depan gateway dan mendistribusikan traffic ke pod gateway, yang berfungsi sebagai server backend CLB.

Gambar berikut menunjukkan jalur lengkap traffic untuk permintaan layanan:

Setiap segmen dalam jalur ini berpotensi menjadi bottleneck atau single point of failure. Bagian-bagian berikut menjelaskan cara mengoptimalkan setiap lapisan.
Kurangi latensi
Arahkan klien ke kluster terdekat
ASM mengelola kluster ACK di beberapa wilayah dan mengintegrasikan resolusi Domain Name System (DNS) cerdas. DNS menyelesaikan setiap nama domain ke alamat IP instans CLB yang paling dekat dengan klien yang melakukan permintaan, sehingga meminimalkan latensi jaringan.
Untuk petunjuk penyiapan, lihat Gunakan ASM untuk menerapkan disaster recovery lintas wilayah dan load balancing.
Pilih plug-in CNI yang tepat
Plug-in Container Network Interface (CNI) menentukan bagaimana traffic mengalir dari instans CLB ke pod gateway:
| CNI Plugin | Jalur Lalu Lintas | Dampak performa |
|---|---|---|
| Terway (direkomendasikan) | CLB meneruskan langsung ke pod gateway | Latensi lebih rendah, hop jaringan lebih sedikit |
| Flannel | CLB meneruskan ke NodePort Service, yang kemudian mengarahkan ke pod gateway | Latensi lebih tinggi karena adanya hop tambahan |
Gunakan plug-in CNI Terway untuk beban kerja produksi. Routing langsung ke pod menghilangkan hop NodePort dan mengurangi latensi per permintaan. Untuk perbandingan mendetail, lihat Terway dan Flannel.
Aktifkan akselerasi TLS
Gerbang ASM pada instans edisi komersial mendukung akselerasi Transport Layer Security (TLS) berbasis Intel Multi-Buffer. Dalam pengujian benchmark, fitur ini meningkatkan queries per second (QPS) sebesar 80%.
Untuk mengaktifkan akselerasi TLS, lihat Aktifkan Multi-Buffer untuk akselerasi TLS.
Tingkatkan throughput
Scale out dengan beberapa instans CLB
Jika satu instans CLB tidak mampu menangani volume traffic untuk gateway Anda, asosiasikan beberapa instans CLB dengan gerbang ASM yang sama. Hal ini mendistribusikan beban di antara instans CLB dan meningkatkan total throughput. Sebagai manfaat tambahan, beberapa instans CLB juga meningkatkan ketersediaan—jika satu instans CLB gagal, instans lainnya tetap melayani traffic.
Untuk petunjuknya, lihat Akses gerbang ASM menggunakan beberapa instans CLB.
Pastikan ketersediaan tinggi
Lakukan penerapan lintas wilayah untuk geo-disaster recovery
Distribusikan beban kerja Anda di beberapa wilayah untuk melindungi dari gangguan tingkat wilayah. ASM mendukung penerapan multi-wilayah dengan redundansi geo-aktif dan load balancing lintas wilayah. Jika satu wilayah tidak tersedia, traffic secara otomatis dialihkan ke wilayah yang sehat.
Untuk petunjuk penyiapan, lihat Gunakan ASM untuk menerapkan disaster recovery lintas wilayah dan load balancing.
Sebarkan pod gateway di berbagai node dan zona
Lakukan penerapan pod gateway di node berbeda atau di zona ketersediaan berbeda. Hal ini mencegah kegagalan satu node atau zona menyebabkan seluruh gateway mati.
Konfigurasikan anti-afinitas pod atau batasan penyebaran topologi untuk menegakkan distribusi ini. Untuk petunjuknya, lihat Tingkatkan ketersediaan untuk layanan gateway masuk instans ASM.
Konfigurasikan shutdown yang mulus
Shutdown yang mulus mencegah permintaan yang sedang berjalan gagal selama event scaling dan pembaruan bergulir. Dua lapisan memerlukan konfigurasi:
Pod layanan: Selama terminasi pod, permintaan yang sedang berjalan dapat gagal jika pod keluar sebelum menyelesaikannya. Tambahkan pre-stop hook untuk menguras koneksi sebelum pod dimatikan. Urutan shutdown khas adalah:
Kubernetes mengirim sinyal SIGTERM ke pod.
Pre-stop hook dijalankan, dan pod berhenti menerima permintaan baru.
Koneksi yang ada tetap dilayani hingga selesai atau mencapai timeout pengurasan.
Pod keluar.
Untuk detail konfigurasi, lihat Konfigurasikan siklus hidup sidecar proxy.
Instans CLB: Saat gateway ASM melakukan scale in atau scale out, koneksi yang ada ke instans CLB dapat terputus jika pod backend segera dihapus. Aktifkan shutdown yang mulus pada instans CLB untuk mempertahankan koneksi selama periode pengurasan yang dapat dikonfigurasi, sehingga mencegah kehilangan traffic selama event scaling.
Untuk petunjuknya, lihat Aktifkan shutdown yang mulus untuk mencegah kehilangan traffic.
Daftar periksa produksi
| Area | Rekomendasi | Mengapa penting |
|---|---|---|
| Plug-in CNI | Gunakan Terway untuk routing langsung ke pod | Menghilangkan hop NodePort, mengurangi latensi per permintaan |
| Load balancing | Asosiasikan minimal dua instans CLB dengan setiap gateway produksi | Memberikan ruang throughput tambahan dan kemampuan failover |
| TLS | Aktifkan akselerasi TLS Intel Multi-Buffer (edisi komersial) | Meningkatkan QPS sebesar 80% dalam pengujian benchmark |
| Penempatan pod | Sebarkan pod gateway di minimal dua zona ketersediaan | Mencegah kegagalan satu zona menyebabkan gateway mati |
| Shutdown yang mulus | Konfigurasikan pre-stop hook pada pod layanan dan aktifkan pengurasan koneksi pada instans CLB | Mencegah kegagalan permintaan selama scaling dan pembaruan bergulir |
| Multi-wilayah | Lakukan penerapan kluster di beberapa wilayah dan gunakan resolusi DNS cerdas | Memberikan redundansi geo dan mengarahkan klien ke kluster terdekat |