Fehlerbehebung bei verwaltetem CNI
Auf dieser Seite werden häufige Probleme mit dem verwalteten CNI in Cloud Service Mesh und deren Behebung beschrieben. Weitere Informationen finden Sie unter Support.
Nicht unterstützte Konfiguration mit aktivierter verwalteter CNI
Für verwaltetes Cloud Service Mesh mit der Implementierung der Steuerungsebene TRAFFIC_DIRECTOR ist verwaltetes CNI erforderlich. Das Deaktivieren wird nicht unterstützt. Möglicherweise wird der CNI_CONFIG_UNSUPPORTED-Code in der Meldung zum Funktionsstatus angezeigt, wenn das mesh.cloud.google.com/managed-cni-enabled-Label vorhanden ist, aber nicht den Wert true in der benutzerdefinierten Ressource (Custom Resource, CR) der Steuerungsebene (Control Plane Revision, CPR) hat oder wenn der CNI-Eintrag in der asm-options-ConfigMap vorhanden ist, aber nicht den Wert on hat.
Um diese Fehlermeldung zu beheben, müssen Sie alle Versuche entfernen, die verwaltete CNI zu deaktivieren.
Fall 1: Entfernen Sie das Label „Managed CNI Enabled“ in der CPR-CR im 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-c5e1a07740d5Fall 2: Entfernen Sie den CNI-Eintrag asm-options-ConfigMap
ASM_OPTS-Datenstring.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
CNI-Pod nicht planbar
Dieser Fehler kann auftreten, wenn das verwaltete CNI-DaemonSet keine Pods auf einem der Knoten im Cluster planen kann.
Für In-Cluster-Ressourcen sind mindestens memory: 100Mi auf jedem Knoten erforderlich.
Weitere Informationen finden Sie unter Cloud Service Mesh-Anforderungen.
Wenn Ihrem Cluster bereits ausreichend Arbeitsspeicher zugewiesen ist, finden Sie unter Pod unschedulable weitere Schritte zur Fehlerbehebung.
Knoten bleiben im Status „NotReady“ mit dem Fehler „missing containerID“
Dieser Fehler kann auftreten, wenn Ihre Clusterknoten nach dem Upgrade Ihrer Google Kubernetes Engine-Version (GKE) nicht bereit werden können.
Fehlermeldung:
container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: missing containerID
Ursache:
Dieses Problem beruht auf einer Inkompatibilität zwischen der Cloud Service Mesh Container Network Interface (CNI) Version 1.20.x und den Container Network Interface (CNI)-Plug-ins in GKE.
Die CNI-Plug-ins müssen mit der CNI 1.1.0-Spezifikation kompatibel sein. In Clustern mit GKE-Version 1.35.1-gke.1516000 oder höher wird die Unterstützung für diese Spezifikation automatisch aktiviert. Da die Cloud Service Mesh-CNI-Version 1.20.x die CNI-Spezifikationsversion 1.1.0 nicht unterstützt, schlagen Knoten-Systemdiagnosen fehl und die Knoten bleiben im Status NotReady.
Workaround:
Wenn auf Ihrem Cluster noch Cloud Service Mesh CNI-Version 1.20.x ausgeführt wird, führen Sie kein Upgrade Ihrer GKE-Knotenpools auf 1.35.1-gke.1516000 oder höher durch.
Wenn Sie bereits ein Upgrade durchgeführt haben und dieses Problem auftritt, empfehlen wir, Ihre GKE-Version auf eine Version vor 1.35.1-gke.1516000 herunterzustufen, bis das verwaltete CNI Ihres Clusters auf Version 1.23.x oder höher aktualisiert wird.