Memecahkan masalah CNI terkelola
Halaman ini menjelaskan masalah CNI terkelola umum dengan Cloud Service Mesh dan cara menyelesaikannya. Jika Anda memerlukan bantuan tambahan, lihat Mendapatkan dukungan.
Konfigurasi yang tidak didukung dengan CNI terkelola yang diaktifkan
Penerapan Managed Cloud Service Mesh dengan bidang kontrol TRAFFIC_DIRECTOR memerlukan CNI terkelola dan tidak mendukung penonaktifannya. Anda mungkin melihat kode CNI_CONFIG_UNSUPPORTED dalam pesan status fitur jika label mesh.cloud.google.com/managed-cni-enabled ada, tetapi tidak memiliki nilai true dalam revisi bidang kontrol (CPR) resource kustom (CR) atau jika entri CNI dalam configmap asm-options ada, tetapi tidak memiliki nilai on.
Untuk mengatasi pesan error ini, Anda harus menghapus upaya untuk menonaktifkan CNI terkelola.
Kasus 1: Hapus label yang Diaktifkan CNI terkelola di CR CPR di cluster.
apiVersion: v1 items: - apiVersion: mesh.cloud.google.com/v1beta1 kind: ControlPlaneRevision metadata: annotations: mesh.cloud.google.com/proxy: '{"managed":"false"}' creationTimestamp: "2024-02-18T08:13:30Z" generation: 1 labels: app.kubernetes.io/created-by: mesh.googleapis.com mesh.cloud.google.com/managed-cni-enabled: false # Remove the "mesh.cloud.google.com/managed-cni-enabled" label name: asm-managed namespace: istio-system resourceVersion: "13422558" uid: 3ad755ec-78ab-4d57-8fb9-c5e1a07740d5Kasus 2: Hapus string data asm-options configmap
ASM_OPTSentri CNI.apiVersion: v1 data: ASM_OPTS: CNI=off # Remove CNI entry in the ASM_OPTS data. multicluster_mode: connected kind: ConfigMap metadata: creationTimestamp: "2024-02-18T08:13:30Z" name: asm-options namespace: istio-system resourceVersion: "1640225" uid: 576602da-e60b-4df7-9427-5be06e5bf014
Pod CNI tidak dapat dijadwalkan
Anda mungkin melihat error ini jika Daemonset CNI terkelola tidak dapat menjadwalkan Pod di salah satu node dalam cluster.
Perhatikan bahwa resource dalam cluster memerlukan setidaknya memory: 100Mi di setiap node.
Untuk mengetahui informasi selengkapnya, lihat
Persyaratan Cloud Service Mesh.
Jika cluster Anda sudah memiliki alokasi memori yang cukup, lihat artikel Pod tidak dapat dijadwalkan untuk mengetahui langkah-langkah pemecahan masalah tambahan.
Node terjebak dalam status NotReady dengan error containerID tidak ada
Anda mungkin melihat error ini saat node cluster tidak dapat siap setelah mengupgrade versi Google Kubernetes Engine (GKE).
Pesan error:
container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: missing containerID
Penyebab:
Masalah ini berasal dari inkompatibilitas antara Cloud Service Mesh
Container Network Interface (CNI) versi 1.20.x dan plugin Container Network
Interface (CNI) di
GKE.
Plugin CNI memerlukan kompatibilitas dengan spesifikasi CNI 1.1.0. Cluster yang menjalankan GKE versi 1.35.1-gke.1516000 atau yang lebih baru akan otomatis mengaktifkan dukungan untuk spesifikasi ini. Karena Cloud Service Mesh CNI versi 1.20.x tidak mendukung spesifikasi CNI versi 1.1.0, health check node akan gagal dan node tetap dalam status NotReady.
Solusi:
Jika cluster Anda masih menjalankan CNI Cloud Service Mesh versi 1.20.x, jangan
mengupgrade node pool GKE Anda ke 1.35.1-gke.1516000 atau yang lebih baru.
Jika Anda telah melakukan upgrade dan mengalami masalah ini, solusi
yang direkomendasikan adalah melakukan downgrade versi GKE ke versi yang lebih lama
dari 1.35.1-gke.1516000 hingga CNI terkelola cluster Anda diupgrade ke
versi 1.23.x atau yang lebih baru.