Menyelesaikan masalah batas resource di Cloud Service Mesh

Bagian ini menjelaskan masalah umum Cloud Service Mesh dan cara menyelesaikannya. Jika Anda memerlukan bantuan tambahan, lihat Mendapatkan dukungan.

Masalah batas resource Cloud Service Mesh dapat disebabkan oleh salah satu hal berikut:

  • Objek LimitRange yang dibuat di namespace istio-system atau namespace apa pun dengan injeksi sidecar otomatis diaktifkan.
  • Batas yang ditentukan pengguna yang ditetapkan terlalu rendah.
  • Node kehabisan memori atau resource lainnya.

Kemungkinan gejala masalah resource:

  • Cloud Service Mesh berulang kali tidak menerima konfigurasi dari bidang kontrol yang ditunjukkan oleh error, Envoy proxy NOT ready. Melihat error ini beberapa kali saat startup adalah hal yang wajar, tetapi jika tidak, itu adalah masalah.
  • Masalah jaringan dengan beberapa pod atau node yang tidak dapat dijangkau.
  • istioctl proxy-status menampilkan status STALE dalam output.
  • Pesan OOMKilled dalam log node.
  • Penggunaan memori oleh penampung: kubectl top pod POD_NAME --containers.
  • Penggunaan memori oleh pod di dalam node: kubectl top node my-node.
  • Envoy kehabisan memori: kubectl get pods menampilkan status OOMKilled di output.

Sidecar memerlukan waktu lama untuk menerima konfigurasi

Penyebaran konfigurasi yang lambat dapat terjadi karena resource yang dialokasikan ke istiod tidak memadai atau ukuran cluster yang terlalu besar.

Ada beberapa kemungkinan solusi untuk masalah ini:

  1. Untuk Cloud Service Mesh dalam cluster, jika alat pemantauan Anda (prometheus, stackdriver, dll.) menunjukkan penggunaan resource yang tinggi oleh istiod, tingkatkan alokasi resource tersebut, misalnya tingkatkan batas CPU atau memori deployment istiod. Ini adalah solusi sementara dan sebaiknya Anda menyelidiki metode untuk mengurangi konsumsi resource.

  2. Jika Anda mengalami masalah ini di cluster atau deployment besar, kurangi jumlah status konfigurasi yang dikirim ke setiap proxy dengan mengonfigurasi resource Sidecar.

  3. Untuk Cloud Service Mesh dalam cluster, jika masalah berlanjut, coba skalakan istiod secara horizontal.

  4. Jika semua langkah pemecahan masalah lainnya gagal menyelesaikan masalah, laporkan bug yang menjelaskan deployment Anda dan masalah yang diamati. Ikuti langkah-langkah ini untuk menyertakan profil CPU/Memori dalam laporan bug jika memungkinkan, beserta deskripsi mendetail tentang ukuran cluster, jumlah pod, dan jumlah layanan.