Bagian ini menjelaskan cara memecahkan dan menyelesaikan masalah saat menggunakan Anthos Service Mesh. Jika Anda memerlukan bantuan tambahan, lihat Mendapatkan dukungan.
Langkah pemecahan masalah
Ikuti langkah-langkah umum berikut untuk memecahkan masalah Anthos Service Mesh secara paling efisien:
- Menggunakan alat validasi konfigurasi otomatis.
- Periksa apakah Anda memiliki masalah umum dengan solusi yang diketahui.
- Mempersempit ruang lingkup masalah.
- Tinjau log dan informasi yang relevan.
- Kumpulkan log diagnostik dan cari bantuan.
kpt
error selama penginstalan
Saat Anda menginstal Anthos Service Mesh menggunakan install_asm
dengan versi kpt
yang tidak didukung, install_asm
akan menampilkan pesan error berikut:
2021-07-14T15:54:58.380312 install_asm_1_9_3: Downloading ASM.. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 41.7M 100 41.7M 0 0 31.1M 0 0:00:01 0:00:01 --:--:-- 31.1M 2021-07-14T15:54:59.777425 install_asm_1_9_3: Downloading ASM kpt package... 2021-07-14T15:54:59.805267 install_asm_1_9_3: Running: '/usr/bin/kpt pkg get --auto-set=false https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.9-asm asm' 2021-07-14T15:54:59.832100 install_asm_1_9_3: ------------- error: unknown flag: --auto-set 2021-07-14T15:54:59.907493 install_asm_1_9_3: [WARNING]: Failed, retrying...(1 of 3) 2021-07-14T15:55:01.936275 install_asm_1_9_3: Running: '/usr/bin/kpt pkg get --auto-set=false https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.9-asm asm' 2021-07-14T15:55:01.963543 install_asm_1_9_3: ------------- error: unknown flag: --auto-set 2021-07-14T15:55:02.043638 install_asm_1_9_3: [WARNING]: Failed, retrying...(2 of 3) 2021-07-14T15:55:04.074541 install_asm_1_9_3: Running: '/usr/bin/kpt pkg get --auto-set=false https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.9-asm asm' 2021-07-14T15:55:04.101990 install_asm_1_9_3: ------------- error: unknown flag: --auto-set 2021-07-14T15:55:04.176750 install_asm_1_9_3: [WARNING]: Failed, retrying...(3 of 3)
Jika Anda melihat error ini, download versi terbaru install_asm
. Skrip
install_asm
harus berupa salah satu versi berikut atau yang lebih baru:
- Untuk versi 1.8 - 1.8.6-asm.5+config1
- Untuk versi 1.9 - 1.9.6-asm.2+config1
- Untuk versi 1.10 - 1.10.2-asm.3+config1
Jika Anda mendownload anthos-service-mesh-package
untuk menginstal Anthos Service Mesh menggunakan istioctl install
, jika Anda memiliki versi kpt
yang tidak didukung, Anda akan melihat pesan error berikut:
Package "asm": Fetching https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages@release-1.10-asm From https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages * branch release-1.10-asm -> FETCH_HEAD Error: Kptfile at "https:/github.com/GoogleCloudPlatform/anthos-service-mesh-packages/asm@release-1.10-asm" has an old version ("v1alpha1") of the Kptfile schema. Please update the package to the latest format by following https://kpt.dev/installation/migration.
Penginstalan Anthos Service Mesh memerlukan kpt
versi sebelum 1.x. Sesi
shell harus disetel agar menggunakan kpt
versi 0.39.2. Anda dapat menjalankan perintah berikut untuk mendapatkan versi kpt
:
kpt version
Outputnya mirip dengan hal berikut ini:
0.39.2
Jika Anda memiliki versi kpt
yang lebih tinggi dari versi 1.0, lihat
Mendownload versi kpt
yang diperlukan untuk
mendownload versi yang diperlukan.
Menggunakan alat validasi otomatis
Anthos Service Mesh menyertakan alat diagnostik dan validasi konfigurasi otomatis yang dapat menyelesaikan masalah dan membantu Anda menghindarinya pada masa mendatang. Bagian berikut menjelaskan cara menggunakan alat ini.
istioctl analyze
Alat diagnostik istioctl analyze
dapat mendeteksi masalah konfigurasi umum.
Instal istioctl
menggunakan
instructions ini.
istioctl analyze
membaca konfigurasi cluster dan jika menemukan masalah,
akan memberikan pesan informasi dan menyarankan solusi. Pengujian ini dapat dijalankan pada cluster aktif atau satu set file konfigurasi lokal. Pengujian ini juga dapat dijalankan terhadap
kombinasi keduanya, sehingga Anda dapat menemukan masalah sebelum menerapkan perubahan
pada cluster. Untuk informasi selengkapnya, lihat
Mendiagnosis Konfigurasi dengan istioctl analyze
.
Untuk mengetahui informasi selengkapnya tentang error yang dideteksi istioctl analyze
, lihat
Pesan Analisis Konfigurasi.
Menganalisis cluster live
Analisis cluster live menggunakan perintah berikut.
istioctl analyze -A
Jika istioctl analyze
mendeteksi masalah pada konfigurasi Anda, pesan yang berisi informasi bermanfaat untuk menyelesaikannya akan ditampilkan, jika diketahui. Misalnya, jika Anda melakukan kesalahan umum dengan tidak melabeli namespace dengan benar
untuk mengaktifkan injeksi sidecar Istio, pesan berikut akan muncul:
Warn [IST0102] (Namespace default) The namespace is not enabled for Istio injection. Run 'kubectl label namespace default istio-injection=enabled' to enable it, or 'kubectl label namespace default istio-injection=disabled' to explicitly mark it as not needing injection
Jika masalah terus berlanjut, lihat bagian berikutnya untuk memeriksa apakah masalah Anda sudah diketahui.
Memeriksa masalah umum dan solusinya
Anda dapat menghemat waktu dengan memeriksa apakah gejala cocok dengan masalah di bagian masalah dan penyelesaian umum ini, yang dikelompokkan berdasarkan area fungsional Anthos Service Mesh:
- Masalah bidang kontrol terkelola
- Masalah kemampuan observasi
- Masalah resource
- Masalah penskalaan
- Masalah keamanan
- Masalah pengelolaan lalu lintas
- Masalah dukungan VM
- Masalah webhook
- Masalah proxy file bantuan
Jika cara ini tidak menyelesaikan masalah, lihat bagian berikutnya.
Mempersempit ruang lingkup masalah
Anthos Service Mesh terdiri dari beberapa teknologi yang bekerja sama, yang berarti bahwa jenis masalah tertentu terkait dengan area atau komponen fungsional tertentu. Setiap komponen ini masing-masing menghasilkan log yang bermanfaat. Sebelum Anda mencoba menganalisis volume informasi yang diberikan secara manual, persempit cakupan pemecahan masalah dengan menjawab pertanyaan berikut:
- Apakah masalah terjadi di bidang kontrol atau bidang data, misalnya proxy
istiod
atau Envoy? - Di area fungsional mana Anda mengalami masalah, misalnya Jaringan, Telemetri, Keamanan, dll.?
- Apakah ada kehilangan traffic lebar mesh layanan atau dalam deployment tertentu?
- Apakah masalah muncul atau memburuk karena kurangnya kemampuan untuk menskalakan traffic di mesh layanan?
- Apakah masalah tersebut menyebabkan latensi atau masalah performa lainnya?
- Dapatkah Anda merekonstruksi masalah sesuai permintaan?
- Apakah masalahnya dimulai setelah perubahan konfigurasi baru-baru ini di Istio, GKE, dll.?
- Apakah ada peningkatan atau lonjakan traffic dalam mesh layanan?
- Apakah cluster ini memiliki deployment penting yang aktif atau tidak biasa?
- Apakah Anda mengamati pemakaian CPU atau memori yang tinggi? Jika demikian, berapa perkiraan penggunaan dalam skala besar?
- Apakah ada batasan kuota yang perlu dipertimbangkan?
Lihat status bidang kontrol
Perintah berikut dapat membantu Anda memahami status bidang kontrol Anthos Service Mesh:
kubectl get pods -n istio-system
kubectl describe -n istio-system
- Untuk semua pod di sistem istio:
kubectl logs -n istio-system -l istio --all-containers
istioctl version
istioctl proxy-status
kubectl get configmap istio -o yaml && kubectl get configmap istio-sidecar-injector -o yaml
kubectl top pods -n istio-system
Gunakan perintah berikut untuk memahami skala deployment:
kubectl get nodes
kubectl get services --all-namespaces
kubectl get pods --all-namespaces
Meninjau log dan informasi yang relevan
Setelah mempersempit cakupan masalah, Anda dapat berfokus pada log dan informasi tertentu dengan lebih efektif. Untuk mempelajari log yang dihasilkan Anthos Service Mesh dan cara menafsirkan informasi yang ada di dalamnya, lihat Menafsirkan log Anthos Service Mesh.