Menyelesaikan masalah batas resource di Cloud Service Mesh

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

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

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

Potensi gejala masalah sumber daya:

  • Cloud Service Mesh berulang kali tidak menerima konfigurasi dari istiod yang ditunjukkan oleh error, Envoy proxy NOT ready. Melihat {i>error<i} ini beberapa kali saat {i>startup<i} adalah normal, tetapi jika tidak maka menjadi masalah.
  • Masalah jaringan dengan beberapa pod atau node yang tidak dapat dijangkau.
  • istioctl proxy-status menunjukkan STALE status dalam output.
  • OOMKilled pesan di log node.
  • Penggunaan memori oleh container: 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.

File bantuan Istio memerlukan waktu yang lama untuk menerima konfigurasi

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

Ada beberapa kemungkinan solusi untuk masalah ini:

  1. Jika alat pemantauan Anda (prometheus, stackdriver, dll.) menunjukkan respons pemanfaatan resource sebesar istiod, tingkatkan alokasi resource tersebut, misalnya, meningkatkan batas CPU atau memori dari deployment istiod. Ini adalah solusi sementara dan sebaiknya Anda menyelidiki metode-metode untuk mengurangi untuk konsumsi resource.

  2. Jika Anda mengalami masalah ini dalam cluster/deployment besar, kurangi jumlahnya status konfigurasi yang didorong ke setiap proxy dengan mengonfigurasi Resource file bantuan.

  3. Jika masalah berlanjut, coba lakukan penskalaan secara horizontal istiod.

  4. Jika semua langkah pemecahan masalah lainnya gagal menyelesaikan masalah, laporkan bug merinci deployment Anda dan masalah yang diamati. Ikuti langkah-langkah ini untuk memasukkan profil CPU/Memori dalam laporan {i>bug<i} jika memungkinkan, beserta sebuah deskripsi mendetail tentang ukuran cluster, jumlah pod, jumlah layanan, dll.