Cette page répertorie les problèmes connus liés à GKE. Cette page s'adresse aux administrateurs et aux architectes qui gèrent le cycle de vie de l'infrastructure technologique sous-jacente, et qui gèrent les alertes et les pages lorsque les objectifs de niveau de service (SLO) ne sont pas atteints ou que les applications échouent.
Cette page répertorie les problèmes connus pour toutes les versions compatibles et pour les deux versions mineures qui précèdent immédiatement la version la plus ancienne en assistance étendue. Lorsqu'une version atteint la fin de l'assistance étendue, tous les problèmes N-2 sont supprimés. Par exemple, lorsque la version 1.30 atteint la fin de la période de compatibilité étendue, les problèmes connus spécifiques aux versions 1.28 et antérieures sont supprimés.
Si vous faites partie du Google Developer Program, enregistrez cette page pour recevoir des notifications lorsqu'une note de version associée à cette page est publiée. Pour en savoir plus, consultez Pages enregistrées.
Pour filtrer les problèmes connus en fonction d'une version de produit ou d'une catégorie, sélectionnez vos filtres dans les menus déroulants suivants.
Sélectionnez votre version de GKE :
Sélectionnez votre catégorie de problème :
Vous pouvez également rechercher votre problème :
| Catégorie | Version(s) identifiée(s) | Version(s) corrigée(s) | Problème et solution |
|---|---|---|---|
| Mises à niveau et mises à jour |
|
Échec des charges de travail Agent Sandbox après la mise à niveau du cluster
Le module complémentaire Agent Sandbox ( Solution :
Avant de mettre à niveau le plan de contrôle de votre cluster vers la version 1.36.3-gke.1767000 ou une version ultérieure, migrez vos fichiers manifestes et vos charges de travail Agent Sandbox de |
|
| Opération |
|
|
Les requêtes HTTP POST de jetons provenant du serveur de métadonnées échouent avec une erreur 400 Bad Request
Les charges de travail qui utilisent la fédération d'identité de charge de travail pour GKE pour s'authentifier auprès des API Cloud de Confiance en demandant des jetons d'accès ou d'identité de compte de service au serveur de métadonnées GKE (comme
Ce problème se produit lorsqu'une application, une bibliothèque cliente ou une API Gateway envoie une requête HTTP Pour résoudre le problème, passez à la dernière version de correctif de la version mineure de n'importe quel version disponible. Solution :
Pour résoudre ce problème, configurez votre application, votre bibliothèque cliente ou votre API Gateway de sorte qu'elle utilise la méthode curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token"
Si votre charge de travail utilise un SDK ou une passerelle tiers (comme MuleSoft Flex Gateway, IBM App Connect ou des scripts HTTP personnalisés) qui envoie par défaut des requêtes |
| Mises à niveau et mises à jour |
|
À déterminer |
Pods non programmés et quota épuisé lors des mises à niveau mineures en deux étapes du plan de contrôle.
Lors des mises à niveau de version mineure en deux étapes pour les plans de contrôle dans les clusters Autopilot qui utilisent des pods à durée prolongée, de nouveaux pools de nœuds peuvent être provisionnés à l'aide de la version de nœud antérieure. L'autoscaler de cluster évalue les nœuds nouvellement provisionnés par rapport à la version mise à niveau du plan de contrôle, détecte une incompatibilité de version et applique le rejet Ce comportement empêche la planification des pods et déclenche une boucle de scaling infinie. Au lieu d'effectuer un scaling à la hausse d'un pool de nœuds existant, le provisionnement automatique des nœuds crée un pool à nœud unique à chaque itération de scaling à la hausse pour s'adapter aux charges de travail en attente. Cette boucle génère des centaines de pools de nœuds vides distincts qui peuvent finir par épuiser les quotas de groupes d'instances gérés régionaux. Solution : Pour résoudre la boucle de scaling, effectuez manuellement la mise à niveau du plan de contrôle en exécutant la commande suivante : Vous pouvez également appliquer la tolérance suivante aux charges de travail concernées afin qu'elles puissent être planifiées sur les nœuds de la version antérieure : |
| Opération | 1.37.0-gke.2941000 et versions ultérieures | 1.37.1-gke.1131000 |
Les nœuds qui installent des volumes NFS accumulent les entrées d'installation et cessent de créer des conteneursSur les nœuds exécutant les versions concernées, l'installation d'un volume NFS laisse des entrées supplémentaires dans la table d'installation du nœud. De plus, lorsqu'un pod utilisant un volume NFS s'arrête, les tentatives d'annulation de l'installation échouent, ce qui entraîne des tentatives répétées de la part de Lorsque la table d'installation atteint la limite du noyau, l'environnement d'exécution du conteneur ne peut plus créer de conteneurs sur ce nœud. Le nœud cesse d'exécuter de nouveaux pods, peut signaler un état Dans les événements de pod et les journaux MountVolume.SetUp failed for volume "VOLUME_NAME" : mount failed: exit status 1 mount: /etc: mount(2) system call failed: No space left on device Ce problème affecte les pools de nœuds qui installent des volumes NFS avec le pilote NFS "in-tree" Kubernetes. Les nœuds qui n'utilisent pas le pilote NFS intégré pour installer des volumes NFS ne sont pas concernés. Solution : Pour récupérer un nœud concerné, redémarrez-le ou recréez-le. Les entrées d'installation supplémentaires n'existent que dans l'état d'exécution du nœud. Elles sont donc effacées lorsque le nœud redémarre. Les pods bloqués à l'état kubectl delete pod POD_NAME --namespace NAMESPACE --force --grace-period=0 Pour éviter que le problème ne se reproduise dans les clusters standards, rétrogradez les pools de nœuds qui installent des volumes NFS vers une version 1.36. Définissez une exclusion de maintenance afin que GKE ne mette pas automatiquement à niveau les pools de nœuds vers une version concernée. Si un cluster Autopilot exécute une version concernée, utilisez l'une des options suivantes à la place :
|
| Mises à niveau | 1.34.9-gke.1065000 et versions ultérieures, 1.35.6-gke.1049000 et versions ultérieures, et toutes les versions de correctif 1.36 | 1.34.10-gke.1328000 et versions ultérieures, 1.35.8-gke.1026000 et versions ultérieures, 1.36.4-gke.1058000 et versions ultérieures (aucun correctif n'est encore disponible pour la version 1.37) |
Échecs de charge de travail GPU A4X Max (GB300)La création ou la mise à niveau de pools de nœuds GKE A4X Max ( Solution : Mettez à niveau chaque cluster et pool de nœuds concerné vers une version corrigée. GKE empêche la création de pools de nœuds A4X Max avec les versions concernées et ne met pas automatiquement à niveau les pools de nœuds vers les versions concernées. GKE n'empêche pas les mises à niveau manuelles vers les versions concernées. Toutefois, pour éviter les échecs, nous vous recommandons de ne pas passer aux versions concernées. Solution : Si vous ne pouvez pas effectuer la mise à niveau, supprimez tous les pools de nœuds A4X Max qui exécutent les versions concernées, puis recréez-les en utilisant une version antérieure non concernée. Notez que, comme la capacité A4X Max doit être obtenue via une réservation, vous ne perdrez aucune capacité en supprimant les pools de nœuds. |
| Opération | Versions 1.33 antérieures à 1.33.5-gke.2469000, versions 1.34 antérieures à 1.34.1-gke.2037001 | 1.33.5-gke.2469000 et versions ultérieures, 1.34.1-gke.2037001 et versions ultérieures, 1.35 et versions ultérieures |
Nœuds GPU ou TPU bloqués avec des rejets impending-node-termination après la maintenance de l'hôteSur les clusters GKE avec des nœuds d'accélérateur (GPU ou TPU) qui exécutent les versions concernées, les nœuds peuvent rester bloqués avec les rejets Solution : Pour résoudre le problème de blocage, vous devez supprimer manuellement les libellés de maintenance active gérés par GKE et les rejets des nœuds concernés. Si vous ne supprimez que les rejets, le contrôleur de maintenance GKE les réappliquera automatiquement. Pour effacer les étiquettes et les rejets, exécutez les commandes suivantes : kubectl label nodes NODE_NAME cloud.google.com/active-node-maintenance- kubectl label nodes NODE_NAME cloud.google.com/scheduled-maintenance-time- kubectl label nodes NODE_NAME cloud.google.com/scheduled-maintenance-time-latest- kubectl taint nodes NODE_NAME cloud.google.com/impending-node-termination- kubectl taint nodes NODE_NAME cloud.google.com/maintenance-window-started- Remplacez |
| Opération |
|
1.34.1-gke.1829001 et versions ultérieures |
Échecs d'admission de pods pour les charges de travail TPU v7 en raison d'un nombre de puces incorrect.GKE annonce de manière incorrecte huit puces TPU pouvant être allouées pour les accélérateurs TPU v7 (tpu7x) avec une topologie 2x2x1, qui ne contient physiquement que quatre puces. Cette incohérence empêche la planification des pods pour les charges de travail TPU v7. L'architecture à double chiplet de TPU v7 n'est pas gérée correctement dans les versions antérieures, ce qui entraîne des échecs d'admission des pods. Selon les ressources TPU demandées, les erreurs suivantes se produisent :
Solution : Pour résoudre ce problème, mettez à niveau le cluster GKE vers la version 1.34.1-gke.1829001 ou ultérieure. |
| Opération | 1.35.3-gke.1234000 et versions ultérieures | À déterminer |
Le client Lustre n'utilise pas les cartes d'interface réseau secondaires sur les nœuds à cartes d'interface réseau multiplesSur les nœuds GKE dotés de plusieurs cartes d'interface réseau (NIC), le pilote CSI Managed Lustre est activé par défaut pour utiliser toutes les cartes d'interface réseau disponibles afin d'agréger la bande passante en répartissant le trafic de stockage TCP sur les interfaces réseau. Toutefois, en raison d'un problème connu, les clients Lustre à partir de la version Solution : Si vos charges de travail nécessitent l'agrégation de bande passante multi-NIC pour Managed Lustre, rétrogradez vos pools de nœuds vers une version de GKE antérieure à la version 1.35.3-gke.1234000, par exemple la version 1.35.2-gke.1842000. |
| Opération | 1.35 et versions ultérieures | À déterminer |
Délai d'expiration de la connexion ou connexion refusée pour les flux redirigés vers le serveur de métadonnées GKEDans GKE 1.35 et versions ultérieures, les charges de travail qui utilisent Workload Identity pour s'authentifier auprès des API Google Cloud peuvent rencontrer des délais de connectivité temporaires ou des connexions refusées au serveur de métadonnées GKE immédiatement après le démarrage du nœud. Solution : Pour obtenir des recommandations et des solutions de contournement, consultez Résoudre les erreurs de délai d'expiration au démarrage du pod. |
| Opération | 1.33.8-gke.1026000 et versions ultérieures | 1.35.1 et versions ultérieures |
Échec du nettoyage du shim gVisor, journalisation de l'erreur
|
| Opération | 1.35.0-gke.2232000 et versions ultérieures | 1.35.3-gke.1.35.3-gke.1290000 et versions ultérieures |
Les volumes dynamiques reviennent au type de disque par défautLa planification ou l'association des charges de travail utilisant des volumes dynamiques dans GKE version 1.35.0-gke.2232000 ou ultérieure peut échouer. Ce problème peut également entraîner le provisionnement des volumes à l'aide de la Cela se produit, car le serveur de nœuds PDCSI ne parvient pas à renseigner l'objet Solution : Passez à la version 1.35.3-gke.1290000 ou ultérieure. |
| Mises à niveau et mises à jour |
|
|
Problèmes de démarrage des pods lors des mises à niveau vers GKE 1.35 pour les clusters GKE Dataplane V2Clusters mettant à niveau le plan de contrôle vers GKE version 1.35.0-gke.2232000 et versions ultérieures à partir des versions
anetd.
Les nouvelles charges de travail ne démarreront pas pendant le déploiement de
Cela est dû au fait que GKE utilise l'opérateur identity-management-mode, qui nécessite que tous les agents et l'opérateur aient une vue synchronisée des libellés liés à l'identité. À partir de GKE 1.35.0-gke.2232000, les étiquettes Solution :
|
| Mises à niveau et mises à jour |
|
|
Retards de programmation des pods sur les nouveaux nœuds lorsque la règle de réseau Calico est activée
Sur les clusters GKE pour lesquels la règle de réseau Calico est activée, une régression dans les versions concernées peut entraîner des retards importants dans la planification des pods sur les nœuds nouveaux ou recréés.
Ces retards peuvent entraîner le maintien des nœuds à l'état Le problème est dû au fait que le script de démarrage de Calico CNI ne formate pas correctement l'URL du serveur d'API Kubernetes pour les adresses IPv4 en les plaçant entre crochets ([]). Cette approche entraîne une erreur d'analyse d'URL lors de la création de bacs à sable de pods, visible dans les journaux "kubelet" :
Solution : La version du composant Calico est déterminée par la version du plan de contrôle du cluster. Pour résoudre ce problème, mettez à niveau le plan de contrôle de votre cluster vers l'une des versions corrigées. Après avoir mis à niveau le plan de contrôle, vous devez recréer les nœuds de vos pools de nœuds pour vous assurer qu'ils utilisent le bon format d'URL du serveur d'API Kubernetes. Pour ce faire, vous pouvez effectuer une mise à niveau sur place de votre pool de nœuds vers la même version ou une version plus récente, ou recréer manuellement vos pools de nœuds. |
| Performances |
|
|
Baisse des performances de la mise en réseau à usage général sur les types de machines GPU des séries A et G4Les clusters GKE avec des nœuds GPU de série A et G4 présentent des performances dégradées pour la mise en réseau à usage général sur GKE 1.32.8-gke.1134000 et versions ultérieures pour GKE 1.32, et sur GKE 1.33.3-gke.1392000 et versions ultérieures. La dégradation des performances sur la mise en réseau à usage général affecte les types de machines GPU, y compris les séries de machines A3, A4, A4X et G4. Notez que GPUDirect-TCPXO sur A3 Mega et GPUDirect-RDMA sur A3 Ultra, A4 et A4X ne sont pas concernés. Cela se produit, car le script au niveau du nœud ( Solution : Mettez à niveau chaque pool de nœuds concerné vers une version corrigée. |
| Performances |
|
|
Baisse des performances de GPUDirect-TCPX sur A3 HighLes clusters GKE avec des nœuds A3 High ( Cela se produit, car le script au niveau du nœud ( Solution : Pour les pools de nœuds GKE 1.32, mettez à niveau les versions des pools de nœuds GKE vers la version 1.32.11-gke.1075000 ou une version ultérieure. Pour les pools de nœuds GKE 1.33 et versions ultérieures, mettez à niveau les versions des pools de nœuds GKE vers la version 1.33.5-gke.2392000 ou ultérieure. Pour les pools de nœuds GKE 1.34, consultez GPUDirect-TCPX n'est pas disponible avec A3 High pour GKE version 1.34 et ultérieure. |
| Mises à niveau | 1,35 |
1.35.0-gke.2232000 et versions ultérieures. |
Duplication d'identité Cilium dans les clusters GKE Dataplane V2Les clusters GKE exécutant la version 1.35 avec GKE Dataplane V2 activé peuvent connaître une augmentation du nombre de ressources personnalisées Dans les clusters régionaux et zonaux, la planification d'une nouvelle charge de travail peut entraîner une duplication temporaire de l'identité Cilium. Cette duplication se produit, car les pods obtiennent une identité au moment de la création en fonction des étiquettes initiales, et une autre identité après l'ajout des étiquettes de topologie lorsque le pod est planifié sur un nœud. Dans les clusters régionaux, le nombre d'identités peut également augmenter d'un facteur proportionnel au nombre de zones couvertes par le cluster. Impact : Si le nombre total d'identités dépasse 65 535, la planification des nouvelles charges de travail peut échouer. Solution : Pour limiter le nombre total d'identités, évitez d'ajouter des étiquettes avec un grand nombre de valeurs uniques à vos pods. Pour en savoir plus, consultez la documentation Cilium suivante : Les mises à niveau manuelles doivent être effectuées à partir de la version 1.34.3-gke.1208000 ou ultérieure. Si vous lancez la mise à niveau à partir d'une version antérieure à la version 1.34.3-gke.1208000, vous risquez de rencontrer des problèmes temporaires de planification des pods pendant le processus de mise à niveau. |
| Mises à niveau |
|
Vous devez également utiliser le programme d'installation GPUDirect-TCPX version 3.1.9 ou ultérieure et le side-car version 2.0.12 ou ultérieure. Les versions du programme d'installation et du side-car ont un mappage de type "un à un" et doivent correspondre. Par exemple, la version 3.1.12 du programme d'installation GPUDirect-TCPX correspond à la version 2.0.15 du side-car. Pour en savoir plus sur les versions du programme d'installation et du side-car, consultez les notes de version de GPUDirect-TCPX. |
GPUDirect-TCPX n'est pas disponible avec A3 High pour certaines versions de GKELes clusters GKE avec des nœuds A3 High ( Les autres types de machines GPU A3 High ( Solution : Pour résoudre ce problème, effectuez une mise à niveau vers les correctifs de version GKE corrigés. Pour en savoir plus sur la configuration et la mise à niveau des pools de nœuds avec GPUDirect-TCPX, consultez Maximiser la bande passante réseau des GPU dans les clusters standards ou Maximiser la bande passante réseau des GPU dans les clusters Autopilot. Lorsque vous exécutez des tests NCCL sur des versions fixes, les avertissements suivants peuvent s'afficher, mais ils n'ont aucune incidence sur les performances ni sur les fonctionnalités :
|
| Opération | Toutes les versions antérieures à 1.34.0-gke.2285000 | 1.34.0-gke.2285000 et versions ultérieures |
Capacité minimale d'instances mise à jourLa capacité minimale des instances Managed Lustre a été mise à jour et est désormais de 9 000 Gio. Les clusters exécutant des versions antérieures à la 1.34.0-gke.2285000 ne peuvent pas créer d'instances avec cette capacité minimale via le pilote CSI Managed Lustre. Solution : Mettez à niveau votre cluster vers la version 1.34.0-gke.2285000 ou une version ultérieure pour permettre la création d'instances Managed Lustre avec une capacité minimale de 9 000 Gio. |
| Opération | Toutes les versions | À déterminer |
L'interface utilisateur de la consoleCloud de Confiance devient non modifiable pendant la réparation automatique des nœudsLorsqu'un nœud GKE est en cours de réparation automatique, le pool de nœuds ne peut pas être modifié via la console Cloud de Confiance en raison d'une opération en cours. Solution : Vous pouvez toujours modifier la configuration du pool de nœuds à l'aide des commandes gcloud CLI. |
| Opération | Versions 1.33 antérieures à 1.33.4-gke.1036000 | 1.33.4-gke.1036000 et versions ultérieures |
Niveau de performances incorrect pour les instances Lustre provisionnées dynamiquementLors du provisionnement dynamique d'une instance Lustre, la création de l'instance échoue avec une erreur Solution : Mettez à niveau le cluster GKE vers la version 1.33.4-gke.1036000 ou une version ultérieure. Si vous utilisez la version stable, il est possible qu'une version plus récente ne soit pas encore disponible. Dans ce cas, vous pouvez sélectionner manuellement une version du canal standard ou rapide qui inclut le correctif. |
| Opération |
|
1.33.3-gke.1266000 et versions ultérieures |
Erreur d'entrée/sortie lors du changement de nom ou du déplacement de fichiers à l'aide du pilote CSI Cloud Storage FUSELorsque vous utilisez une version concernée du pilote CSI Cloud Storage FUSE, le changement de nom ou le déplacement de fichiers dans des buckets Cloud Storage peut échouer avec une erreur d'E/S. Solution : Ajoutez temporairement une définition d'image side-car spécifique à votre fichier manifeste de pod. Dans la section # Add the following block to use the fixed sidecar image - name: gke-gcsfuse-sidecar image: gcr.io/gke-release/gcs-fuse-csi-driver-sidecar-mounter:v1.8.9-gke.2 Pour en savoir plus, consultez le fichier manifeste du pod dans Configurer une image privée pour le conteneur side-car. Après avoir mis à niveau votre cluster vers une version de GKE corrigée ou ultérieure, vous devez supprimer l'intégralité du bloc |
| Journalisation et surveillance | Toutes les versions | À déterminer |
Condition de concurrence dans les DaemonSets
|
| Mises à niveau | 1.33 | 1.33.2-gke.1043000 |
Limite de fichiers ouverts réduite avec containerd 2.0Pour les pools de nœuds exécutant GKE version 1.33, qui utilise containerd 2.0, la limite souple par défaut pour les fichiers ouverts ( Il s'agit d'un changement dans containerd lui-même (voir la demande d'extraction containerd 8924) où Les charges de travail qui s'attendent à une limite souple par défaut plus élevée (par exemple, celles qui s'appuient implicitement sur la limite par défaut plus élevée précédente) peuvent rencontrer des défaillances, telles que des erreurs Solution : Passez d'une version de correctif 1.33 antérieure à la version 1.33.2-gke.1043000 ou ultérieure. Solution : Augmentez la limite de fichiers ouverts pour vos charges de travail à l'aide de l'une des méthodes suivantes :
|
| Mises à niveau | 1.31.5-gke.1169000, 1.32.1-gke.1376000 | 1.31.7-gke.1164000, 1.32.3-gke.1512000 |
"status.storedVersions" non valide pour les CRD géréesCertaines CRD gérées par GKE peuvent comporter un champ Ce problème affecte les clusters qui répondent aux deux conditions suivantes :
Solution : La solution recommandée consiste à retarder les mises à niveau du cluster jusqu'à ce que le problème soit résolu. Si vous savez que votre cluster contient des versions non compatibles d'objets CRD, vous pouvez ajouter ces versions au champ |
| Fonctionnement, journalisation et surveillance | 1.32.2-gke.1652000, 1.31.6-gke.1221000, 1.30.10-gke.1227000 |
|
Métriques manquantes ou autoscaler de charge de travail n'effectuant pas de scalingVous pouvez observer des écarts dans les données de métriques sur les versions concernées après que la taille du cluster a augmenté de plus de cinq nœuds. Ce problème peut également avoir un impact sur les opérations d'autoscaling. Ce problème ne concerne que les clusters mis à niveau vers les versions concernées. Les clusters nouvellement créés devraient fonctionner comme prévu. Solution : Si vous êtes concerné, vous pouvez revenir à une version de correctif antérieure ou passer à une version corrigée plus récente. |
| Opération |
Limites de taille et d'association des volumes Google Cloud HyperdiskEn règle générale, un pod qui ne peut pas être planifié en raison des limites d'association de volumes d'un nœud déclenche le provisionnement automatique d'un nouveau nœud. Lorsque des charges de travail utilisant un produit Hyperdisk sont planifiées sur un nœud qui exécute une VM C3, le provisionnement automatique des nœuds n'a pas lieu et le pod est planifié sur le nœud déjà plein. La charge de travail est planifiée sur le nœud malgré l'absence de rattachement de disque disponible. La charge de travail ne démarre pas non plus, en raison d'une erreur semblable à celle-ci : AttachVolume.Attach failed for volume "[VOLUME NAME]" : rpc error: code = InvalidArgument desc = Failed to Attach: failed when waiting for zonal op: rpc error: code = InvalidArgument desc = operation operation-[OPERATION NUMBERS] failed (UNSUPPORTED_OPERATION): Maximum hyperdisk-balanced disks count should be less than or equal to [16], Requested : [17] Le problème est présent pour tous les produits Hyperdisk sur les machines C3. Les limites d'association d'Hyperdisk varient en fonction du nombre de processeurs virtuels de la VM et du produit Hyperdisk. Pour en savoir plus, consultez Limites de performances des volumes Hyperdisk. Solution : Les produits Google Cloud Hyperdisk déclenchent le provisionnement automatique sur d'autres formes de VM. Nous vous recommandons une forme qui n'est compatible qu'avec Google Cloud Hyperdisk. |
||
| Opération | 1.32.3-gke.1927000, 1.32.3-gke.1785000, 1.32.3-gke.1717000, 1.32.3-gke.1440000, 1.32.3-gke.1170000, 1.32.3-gke.1250000, 1.32.3-gke.1671000, 1.32.3-gke.1596000, 1.32.3-gke.1298000 |
gke-metadata-server est arrêté par OOMKilled sur les nœuds TPU/GPUSur les nœuds TPU GKE (par exemple, Solution : Si vous observez des événements |
|
| Opération |
|
|
Les redimensionnements de volume peuvent être bloqués en raison de l'état NodePendingResize en attente sur les PVC.Les clusters de la version 1.32 dont les nœuds sont de la version 1.31 ou d'une version antérieure ne parviendront pas à mettre à jour l'état PersistentVolumeClaim lors du redimensionnement. Cet état incorrect empêche le démarrage des opérations de redimensionnement ultérieures, ce qui empêche tout redimensionnement supplémentaire. Un PVC dans cet état comporte un champ Si un PVC a été créé alors que votre cluster était sur une version concernée, vous pouvez voir ce problème persister après la mise à niveau de votre cluster vers une version corrigée connue. Dans ce scénario, vous devez appliquer un correctif à votre PVC pour supprimer le champ Solution : Les PVC bloquées en raison d'un état "en attente" peuvent être corrigées pour supprimer cet état. Vous pouvez utiliser une commande de correctif comme celle-ci pour supprimer l'état "en attente" : kubectl patch pvc $PVC_NAME --subresource='status' --type='merge' -p '{"status":{"allocatedResourceStatuses":null}}'kubectl patch pvc $PVC_NAME --subresource='status' --type='merge' -p '{"status":{"allocatedResources":null}}' |
| Opération |
|
|
Le pilote PDCSI peut consigner des journaux de manière excessiveLes clusters GKE exécutant certaines versions de la version 1.32 peuvent émettre un nombre excessif de messages de journal provenant du pilote PDCSI. Cette journalisation excessive consommerait le quota de l'API d'écriture Cloud Logging. Solution : Vous pouvez réduire cette journalisation excessive en ajoutant un filtre d'exclusion. Pour exclure les messages de journal de l'ingestion dans Cloud Logging, utilisez la requête suivante :
resource.type="k8s_container"
resource.labels.container_name="gce-pd-driver"
(sourceLocation.file="cache.go" OR "Cannot process volume group")
|
| Opérations |
|
|
Les pods qui tentent d'installer des volumes persistants NFS sur des nœuds COS qui disposaient auparavant d'un montage en lecture seule (RO) ne seront installés qu'en mode RO.Pour GKE version 1.27 et ultérieures, les volumes NFS utilisant le pilote CSI Kubernetes intégré ne peuvent installer des volumes persistants en mode RO qu'après une installation RO précédente sur le même nœud. Solution : Rétrogradez les pools de nœuds vers une version antérieure aux versions concernées. |
| Opérations |
|
Les pods qui tentent d'installer des volumes persistants NFS sur des nœuds Ubuntu ne pourront pas s'exécuter.Pour GKE 1.32 et versions ultérieures, les volumes NFS utilisant le pilote CSI Kubernetes intégré ne pourront pas installer de volumes persistants sur les nœuds Ubuntu. Dans ce cas, les messages d'erreur suivants peuvent s'afficher : "MountVolume.SetUp failed for volume 'nfs-storage' : mount failed: exit status 1" Output: Mount failed: mount failed: exit status 127 "Output: chroot: failed to run command 'mount': No such file or directory failed to run command mount on Ubuntu nodes" En plus de ces messages d'erreur, les pods utilisant ces volumes ne pourront pas démarrer. Solution : Revenir à une version antérieure des pools de nœuds (version 1.31). |
|
| Opération | >= 1.28.15-gke.1436000, < 1.28.15-gke.1668000, >= 1.29.12-gke.1040000, < 1.29.13-gke.1028000, >= 1.30.8-gke.1053000, < 1.30.8-gke.1287000, >= 1.31.4-gke.1057000, < 1.31.6-gke.1020000, >= 1.32.0-gke.1281000, < 1.32.1-gke.1369000 |
|
Les pods utilisant des appels système liés à io_uring peuvent être bloqués à l'état "Terminating"
Les pods qui utilisent des appels système liés à io_uring peuvent passer à l'état D (veille du disque), également appelé TASK_UNINTERRUPTIBLE, en raison d'un bug dans le noyau Linux. Les processus à l'état D ne peuvent pas être réveillés par des signaux, y compris
Lorsqu'un pod est concerné par ce problème connu, ses conteneurs peuvent ne pas s'arrêter normalement. Dans les journaux containerd, vous pouvez observer des messages répétés semblables à celui-ci :
ou
Ces symptômes indiquent que des processus du conteneur sont bloqués dans un état de veille ininterrompue (état D), ce qui empêche l'arrêt correct du pod.
Les charges de travail qui utilisent io_uring directement ou indirectement via un environnement d'exécution de langage tel que NodeJS peuvent être affectées par ce problème connu. Les charges de travail concernées ont un processus à l'état D (veille du disque) dans le fichier Solution : Mettez à niveau les nœuds du cluster vers une version corrigée ou ultérieure. |
| Opération | 1.28, 1.29, 1.30, 1.31 |
|
Les charges de travail utilisant le streaming d'images échouent avec des erreurs d'authentificationUn bug dans la fonctionnalité de streaming d'images peut entraîner l'échec des charges de travail lorsqu'un ensemble de conditions spécifiques est rempli pendant que le conteneur lit des fichiers. Les messages d'erreur liés aux échecs d'authentification peuvent être visibles dans le journal gcfsd.
Pour vérifier si vous êtes concerné, recherchez les journaux à l'aide de la requête de recherche suivante :
La présence de ces erreurs indique que les nœuds sont affectés. Si vous êtes concerné par ce problème, vous pouvez mettre à niveau vos pools de nœuds vers une version corrigée de GKE. |
| Opération |
|
|
Augmentation des taux d'éviction de pods sur les versions 1.30 et 1.31 de GKE
Certaines versions de GKE 1.30 et GKE 1.31 qui utilisent respectivement COS 113 et COS 117 ont des noyaux créés avec l'option
L'option de configuration Il est possible que vous ne voyiez pas toujours un taux d'éviction de pods inhabituel, car ce problème dépend du modèle d'utilisation de la mémoire de la charge de travail. Le risque que le kubelet expulse des pods est plus élevé pour les charges de travail qui n'ont pas défini de limite de mémoire dans le champ "resources". En effet, les charges de travail peuvent demander plus de mémoire que ce que kubelet indique comme disponible. Si vous constatez une utilisation de la mémoire plus élevée d'une application après la mise à niveau vers les versions de GKE mentionnées sans aucune autre modification, vous êtes peut-être concerné par l'option de noyau.
Pour vérifier si les taux d'éviction de pods sont inhabituels, analysez les métriques suivantes avec l'explorateur de métriques :
Vous pouvez utiliser les requêtes PromQL suivantes. Remplacez les valeurs de
max by (pod_name)(max_over_time(kubernetes_io:container_memory_used_bytes{monitored_resource="k8s_container",memory_type="non-evictable",cluster_name="REPLACE_cluster_name",namespace_name="REPLACE_namespace",metadata_system_top_level_controller_type="REPLACE_controller_type",metadata_system_top_level_controller_name="REPLACE_controller_name"}[${__interval}]))
sum by (pod_name)(avg_over_time(kubernetes_io:container_memory_request_bytes{monitored_resource="k8s_container",cluster_name="REPLACE_cluster_name",namespace_name="REPLACE_namespace",metadata_system_top_level_controller_type="REPLACE_controller_type",metadata_system_top_level_controller_name="REPLACE_controller_name"}[${__interval}]))
Si vous constatez des pics inhabituels d'utilisation de la mémoire qui dépassent la mémoire demandée, la charge de travail est peut-être expulsée plus souvent. SolutionSi vous ne pouvez pas passer aux versions corrigées et que vous exécutez un environnement GKE dans lequel vous pouvez déployer des pods privilégiés, vous pouvez désactiver l'option LRU multigénérationnelle à l'aide d'un DaemonSet.
Une fois que le DaemonSet est exécuté dans tous les pools de nœuds sélectionnés, la modification prend effet immédiatement et le calcul de l'utilisation de la mémoire kubelet revient à la normale. |
| Opération | 1.28, 1.29, 1.30, 1.31 |
|
Pods bloqués à l'état "Arrêt en cours"Un bug dans l'environnement d'exécution du conteneur (containerd) peut entraîner le blocage des pods et des conteneurs à l'état "En cours d'arrêt" avec des erreurs semblables à celles-ci : OCI runtime exec failed: exec failed: cannot exec in a stopped container: unknown
Si vous êtes concerné par ce problème, vous pouvez mettre à niveau vos nœuds vers une version de GKE avec une version corrigée de containerd. |
| Opération |
|
|
Le streaming d'images échoue en raison de liens symboliquesUn bug dans la fonctionnalité de streaming d'images peut empêcher le démarrage des conteneurs. La création de conteneurs s'exécutant sur un nœud avec le streaming d'images activé sur des versions spécifiques de GKE peut échouer avec l'erreur suivante : "CreateContainer in sandbox from runtime service failed" err="rpc error: code = Unknown desc = failed to create containerd container: failed to mount [PATH]: too many levels of symbolic links"
Solution : Pour résoudre ce problème, mettez à niveau vos pools de nœuds vers une version corrigée (1.35.6-gke.1005000 ou ultérieure, ou 1.36.0-gke.2459000 ou ultérieure). Si vous ne pouvez pas effectuer de mise à niveau, vous pouvez rechercher des couches vides ou en double. Si vous ne parvenez pas à supprimer les couches vides ou en double, désactivez le streaming d'images. |
| Opération | 1.27,1.28,1.29 |
|
Échec du streaming d'images en raison de fichiers manquantsUn bug dans la fonctionnalité de streaming d'images peut entraîner l'échec des conteneurs en raison d'un ou de plusieurs fichiers manquants. Les conteneurs exécutés sur un nœud pour lequel le streaming d'images est activé sur les versions suivantes peuvent ne pas démarrer ou s'exécuter avec des erreurs indiquant que certains fichiers n'existent pas. Voici quelques exemples de ces erreurs :
Si vous êtes concerné par ce problème, vous pouvez désactiver le streaming d'images. |
| Mise en réseau,Mises à niveau et mises à jour | 1.28 |
Erreur de configuration TLS de la passerelleNous avons identifié un problème de configuration de TLS pour les passerelles dans les clusters exécutant GKE version 1.28.4-gke.1083000. Cela affecte les configurations TLS utilisant un SSLCertificate ou un CertificateMap. Si vous mettez à niveau un cluster avec des passerelles existantes, les mises à jour apportées à la passerelle échoueront. Pour les nouvelles passerelles, les équilibreurs de charge ne seront pas provisionnés. Ce problème sera résolu dans une prochaine version de correctif GKE 1.28. |
|
| Mises à niveau et mises à jour | 1.27 | 1.27.8 ou ultérieure |
Problème lié au plug-in d'appareil GPU
Les clusters qui exécutent des GPU et qui sont mis à niveau de la version 1.26 vers une version de correctif 1.27 antérieure à la version 1.27.8 peuvent rencontrer des problèmes avec les plug-ins d'appareil GPU de leurs nœuds (
|
| Opération | 1.27,1.28 |
|
L'autoscaling s'arrête pour toutes les charges de travail
HorizontalPodAutoscaler (AHP) et VerticalPodAutoscaler (VPA) peuvent arrêter l'autoscaling de toutes les charges de travail d'un cluster s'il contient des objets AHP Solution :
Corrigez les objets AHP
Pour en savoir plus sur la configuration des objets AHP |
| Opération | 1.28,1.29 |
|
Échec du déploiement de Container Threat DetectionContainer Threat Detection peut ne pas se déployer sur les clusters Autopilot exécutant les versions de GKE suivantes :
|
| Mise en réseau, mises à niveau | 1.27, 1.28, 1.29, 1.30 |
|
Problèmes de connectivité pour les pods
|
| Mise en réseau | 1.31, 1.32 |
|
Trafic UDP interrompu entre les pods qui s'exécutent sur le même nœudLes clusters pour lesquels la visibilité intranœud est activée peuvent rencontrer des problèmes de trafic UDP entre les pods qui s'exécutent sur le même nœud. Le problème se produit lorsque le nœud du cluster GKE est mis à niveau vers l'une des versions GKE suivantes ou créé avec l'une d'elles :
Le chemin d'accès concerné est le trafic UDP entre pods sur le même nœud via Hostport ou Service. Solution Mettez à niveau le cluster vers l'une des versions corrigées suivantes :
|
| Opération | 1.29,1.30,1.31 |
|
Incompatibilité entre l'opérateur Ray et le chiffrement de la base de données Cloud KMSCertaines versions de l'opérateur Ray ne sont pas compatibles avec le chiffrement de base de données Cloud KMS. Solutions : Mettez à niveau le plan de contrôle du cluster vers une version corrigée ou ultérieure. |
| Mises à niveau et mises à jour | 1.30, 1.31 |
|
Le pod du gestionnaire de maintenance des GPU est bloqué à l'état CrashLoopBackOffAvec ce problème, les pods gpu-maintenance-handler sont bloqués à l'état "CrashLoopBackOff" sur leurs nœuds respectifs. Cet état empêche l'application de l'étiquette "upcoming maintenance" aux nœuds GKE, ce qui peut avoir un impact sur les processus de drainage des nœuds et d'éviction des pods pour les charges de travail.
"Node upcoming maintenance label not applied due to error: Node "gke-yyy-yyy" is invalid: metadata.labels: Invalid value: "-62135596800": a valid label must be an empty string or consist of alphanumeric characters, '-','' or '.', and must start and end with an alphanumeric character (e.g.'MyValue', or 'my_value', or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9.]*)?[A-Za-z0-9])?')"
Si vous êtes concerné par ce problème, vous pouvez le résoudre en mettant à niveau votre plan de contrôle vers une version de GKE incluant le correctif. |
| Opération | 1.33.1-gke.1522000 et versions ultérieures | 1.33.4-gke.1142000 et versions ultérieures |
Les pods ne démarrent pas sur les nœuds pour lesquels le streaming d'images est activé
Sur les nœuds où le streaming d'images est activé, les charges de travail peuvent ne pas démarrer avec la signature d'erreur suivante :
Les journaux du port série d'un nœud concerné contiennent également la signature d'erreur suivante :
La présence de ces deux signatures d'erreur indique un blocage dans l'un des composants de streaming d'images. Ce blocage empêche les pods de démarrer correctement. Atténuation : Redémarrez le nœud pour une correction rapide. Notez que le nœud redémarré peut toujours rencontrer à nouveau le blocage. Pour une atténuation plus robuste, désactivez le streaming d'images sur le pool de nœuds en exécutant la commande suivante : gcloud container node-pools update NODE_POOL_NAME --cluster CLUSTER_NAME --no-enable-image-streaming |
| Opération |
|
|
ComputeClasses personnalisées avec
|
Étapes suivantes
Si vous ne trouvez pas de solution à votre problème dans la documentation, consultez Obtenir de l'aide pour bénéficier d'une assistance supplémentaire, y compris des conseils sur les sujets suivants :
- Ouvrir une demande d'assistance en contactant Cloud Customer Care.
- Obtenir de l'aide de la communauté en posant des questions sur Stack Overflow et en utilisant le tag
google-kubernetes-enginepour rechercher des problèmes similaires. Vous pouvez également rejoindre le canal Slack#kubernetes-enginepour obtenir une assistance supplémentaire de la communauté. - Signaler des problèmes ou demander des fonctionnalités à l'aide de l'Issue Tracker public.