Résoudre les problèmes liés au CNI géré
Cette page explique les problèmes courants liés au CNI géré avec Cloud Service Mesh et comment les résoudre. Si vous avez besoin d'une aide supplémentaire, consultez la page Assistance.
Configuration non compatible avec le CNI géré activé
Cloud Service Mesh géré avec l'implémentation du plan de contrôle TRAFFIC_DIRECTOR nécessite un CNI géré et ne permet pas de le désactiver. Le code CNI_CONFIG_UNSUPPORTED peut s'afficher dans le message d'état de la fonctionnalité si le libellé mesh.cloud.google.com/managed-cni-enabled existe, mais n'a pas la valeur true dans la ressource personnalisée (CR) de la révision du plan de contrôle (CPR), ou si l'entrée CNI dans la configmap asm-options existe, mais n'a pas la valeur on.
Pour résoudre ce message d'erreur, vous devez supprimer toute tentative de désactivation du CNI géré.
Cas 1 : Supprimez le libellé CNI géré activé dans la CR de la CPR du 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-c5e1a07740d5Cas 2 : Supprimez la chaîne de données
ASM_OPTSde la configmap asm-options de l'entrée 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 non programmable
Cette erreur peut s'afficher si le DaemonSet CNI géré ne peut pas programmer de pods sur l'un des nœuds du cluster.
Notez que les ressources du cluster nécessitent au moins memory: 100Mi sur chaque nœud.
Pour en savoir plus, consultez les
exigences de Cloud Service Mesh.
Si votre cluster dispose déjà d'une mémoire suffisante, consultez la section
Pod non programmable
pour obtenir des étapes de dépannage supplémentaires.
Nœuds bloqués à l'état "NotReady" (non prêt) avec l'erreur "missing containerID" (ID de conteneur manquant)
Cette erreur peut s'afficher lorsque les nœuds de votre cluster ne peuvent pas être prêts après la mise à niveau de votre version de Google Kubernetes Engine (GKE).
Message d'erreur :
container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: missing containerID
Cause:
Ce problème est dû à une incompatibilité entre la version 1.20.x de l'interface réseau de conteneur (CNI) de Cloud Service Mesh
et les plug-ins d'interface réseau de conteneur (CNI) dans
GKE.
Les plug-ins CNI nécessitent une compatibilité avec la spécification CNI 1.1.0. Les clusters exécutant la version 1.35.1-gke.1516000 ou une version ultérieure de GKE activent automatiquement la prise en charge de cette spécification. Étant donné que la version 1.20.x du CNI de Cloud Service Mesh n'est pas compatible avec la version 1.1.0 de la spécification CNI, les vérifications d'état des nœuds échouent et les nœuds restent à l'état NotReady.
Solution :
Si votre cluster exécute toujours la version 1.20.x du CNI de Cloud Service Mesh, ne mettez pas à niveau vos pools de nœuds GKE vers la version 1.35.1-gke.1516000 ou une version ultérieure.
Si vous avez déjà effectué la mise à niveau et que vous rencontrez ce problème, la solution recommandée consiste à rétrograder votre version de GKE vers une version antérieure à 1.35.1-gke.1516000 jusqu'à ce que le CNI géré de votre cluster soit mis à niveau vers la version 1.23.x ou une version ultérieure.