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. Class ini memiliki beberapa karakteristik yang memengaruhi penskalaan:

  • Ukuran konfigurasi yang akan dihasilkan:
    • Jumlah total layanan/pod & resource Istio
    • Untuk skala besar, sesuaikan setelan untuk Sidecar guna mengurangi ukuran konfigurasi.
  • Laju perubahan lingkungan:
    • Saat layanan baru dibuat atau konfigurasi Istio diubah, pembaruan lengkap akan dikirim ke proxy.
    • Menambahkan endpoint baru tidak mahal untuk meningkatkan performa karena hanya pembaruan inkremental yang 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 replikasi). Pastikan batas CPU Anda tidak terlalu ketat; jika Istiod mencapai batas CPU, throttling dapat terjadi, yang akan berdampak negatif pada distribusi konfigurasi. Jika Anda mengalami masalah performa, sebaiknya upgrade 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 berumur panjang. Hal ini dimitigasi dengan usia koneksi maksimum 30 menit, yang dapat menghasilkan pesan error di Envoy, seperti gRPC config stream closed: 13, yang memungkinkan beban menyeimbangkan kembali secara alami.

Mitigasi masalah ini dengan memiliki beberapa replika Istiod (defaultnya adalah 2 replika), dan pra-penskalaan jika Anda mengharapkan peningkatan skala cluster yang ekstrem.