Menyelesaikan masalah penskalaan Istio di Cloud Layanan Mesh
Bagian ini menjelaskan masalah umum Cloud Service Mesh dan cara mengatasinya. Jika Anda memerlukan bantuan tambahan, lihat Mendapatkan dukungan.
Faktor penskalaan
Istiod mengirimkan konfigurasi ke setiap file bantuan menggunakan streaming gRPC yang tahan lama. Memiliki beberapa karakteristik yang memengaruhi penskalaan:
- Ukuran konfigurasi yang akan dihasilkan:
- Jumlah total layanan/pod & Referensi Istio
- Untuk skala besar, sesuaikan setelan untuk Sidecar untuk mengurangi ukuran konfigurasi.
- Laju perubahan di lingkungan:
- Saat layanan baru dibuat atau konfigurasi Istio diubah, pembaruan dikirim ke {i>proxy<i}.
- Menambahkan endpoint baru tidak mahal untuk meningkatkan performa, karena hanya memerlukan pembaruan dikirim.
- Jumlah proxy yang konfigurasinya dibuat:
- Dipengaruhi oleh jumlah gateway dan pod dengan file bantuan.
Pertimbangan penskalaan
Istio menskalakan dengan baik secara vertikal (permintaan besar) dan secara horizontal (lebih banyak replika). Pastikan batas CPU Anda tidak terlalu ketat; jika Istio mencapai batas CPU, throttling bisa terjadi yang akan berdampak negatif distribusi konfigurasi. Jika Anda mengalami masalah performa, pertimbangkan mengupgrade ke Cloud Service Mesh versi terbaru, karena setiap versi memiliki pengoptimalan performa.
Beban tidak seimbang
Perubahan besar pada ukuran cluster dapat menyebabkan beban sementara tidak seimbang, karena
koneksi jangka panjang. Hal ini dimitigasi dengan koneksi maksimum 30 menit
usia, yang dapat mengakibatkan pesan error di Envoy, seperti gRPC config stream
closed: 13
, yang memungkinkan beban menyeimbangkan kembali secara alami.
Memitigasi masalah ini dengan memiliki beberapa replika Istiod (defaultnya adalah 2 replika), dan pra-penskalaan jika Anda memperkirakan peningkatan skala cluster yang ekstrem.