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 de la prise en charge étendue. Une fois qu'une version a atteint la fin de l'assistance étendue, tous les problèmes N-2 sont supprimés. Par exemple, lorsque la version 1.30 arrive à 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 participez au programme Google Developer, 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 |
|---|---|---|---|
| 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 afin de s'authentifier auprès des API Google Cloud en demandant des jetons d'accès au compte de service ou des jetons d'identité au serveur de métadonnées GKE (par exemple,
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 planifiés et quota épuisé lors des mises à niveau mineures en deux étapes pour le 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 programmation des pods et déclenche une boucle de scaling infinie. Au lieu de mettre à l'échelle un pool de nœuds existant, le provisionnement automatique des nœuds crée un pool de nœuds unique à chaque itération de mise à l'échelle 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 des 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 pour 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 :
|
| 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és 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 mettra 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 exécutant les versions concernées, puis recréez-les à l'aide d'une version antérieure non concernée. Notez que, comme la capacité maximale A4X doit être obtenue par le biais d'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 taints Solution : Pour résoudre ce problème, vous devez supprimer manuellement les libellés et les taints de maintenance active gérés par GKE 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 au niveau des rapports 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. Les erreurs suivantes se produisent en fonction des ressources TPU demandées :
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 à plusieurs cartes d'interface réseauSur les nœuds GKE dotés de plusieurs cartes d'interface réseau (NIC), le pilote CSI Lustre géré est activé par défaut pour utiliser toutes les cartes NIC 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, il est possible que 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 GKE antérieure à 1.35.3-gke.1234000, telle que 1.35.2-gke.1842000. |
| Opération | 1.35 et versions ultérieures | À déterminer |
Délai avant expiration de la connexion ou connexion refusée pour les flux redirigés vers le serveur de métadonnées GKEDans la version 1.35 et ultérieures de GKE, les charges de travail qui utilisent Workload Identity pour s'authentifier auprès des API Google Cloud peuvent rencontrer des délais d'expiration 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 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 |
Le shim gVisor ne parvient pas à effectuer le nettoyage et enregistre 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éfautLes charges de travail utilisant des volumes dynamiques dans GKE version 1.35.0-gke.2232000 ou ultérieure peuvent ne pas être planifiées ni associées. 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 pourront pas démarrer lors du déploiement de
Cela se produit car 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 planification des pods sur les nouveaux nœuds avec la règle de réseau Calico 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 Ce problème est dû au fait que le script de démarrage Calico CNI met en forme de manière incorrecte l'URL du serveur d'API Kubernetes pour les adresses IPv4 en les encadrant de crochets ([]). Cette approche entraîne une erreur d'analyse de l'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 de série 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 |
|
|
Les performances de GPUDirect-TCPX diminuent 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 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 constater 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 reçoivent une identité au moment de leur 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 de nouvelles charges de travail peut échouer. Solution : Pour limiter le nombre total d'identités, évitez d'ajouter à vos pods des étiquettes comportant un grand nombre de valeurs uniques. 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 de l'installateur et du sidecar 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 de l'installateur 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 savoir comment configurer et mettre à 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. Ils n'ont aucun impact 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 des instances modifiéeLa 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 version 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 la version de votre cluster vers la version 1.34.0-gke.2285000 ou ultérieure pour pouvoir créer des instances Lustre gérées avec une capacité minimale de 9 000 Gio. |
| Opération | Toutes les versions | À déterminer |
L'interface utilisateur de la consoleGoogle Cloud 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 Google Cloud 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, il est possible que le renommage ou le déplacement de fichiers dans des buckets Cloud Storage échouent et génèrent une erreur d'E/S. Solution : Ajoutez temporairement une définition d'image side-car spécifique au fichier manifeste de votre 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 abaissée avec containerd 2.0Pour les pools de nœuds exécutant la version 1.33 de GKE, qui utilise containerd 2.0, la limite logicielle 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 logicielle par défaut plus élevée (par exemple, celles qui s'appuient implicitement sur l'ancienne limite par défaut plus élevée) peuvent rencontrer des échecs, tels que des erreurs Solution : Mettez à niveau une version de correctif 1.33 antérieure vers 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éesIl est possible que certains CRD gérés par GKE comportent un champ Ce problème affecte les clusters qui présentent les deux caractéristiques 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 qui ne s'adapte pasVous 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 aux versions corrigées plus récentes. |
| 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 qui utilisent 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 disques Hyperdisk. Solution : Les produits Google Cloud Hyperdisk déclenchent le provisionnement automatique sur d'autres formes de VM. Nous vous recommandons de choisir 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 (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 qui ont des nœuds de la version 1.31 ou d'une version antérieure ne parviendront pas à mettre à jour l'état de PersistentVolumeClaim lors du redimensionnement. Cet état incorrect empêche le début des opérations de redimensionnement ultérieures, ce qui empêche effectivement tout redimensionnement ultérieur. 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, votre PVC doit être corrigé 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 données 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 Cloud Logging Write. 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érieure, les volumes NFS utilisant le pilote CSI intégré à Kubernetes ne peuvent installer des volumes persistants en mode lecture seule qu'après une précédente installation en mode lecture seule 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 de monter 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 : Rétrograder les pools de nœuds vers la 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 à
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 dans 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 disposent de noyaux qui ont été créés avec l'option
L'option de configuration Il est possible que vous ne constatiez 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 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 le kubelet indique comme disponible. Si vous constatez une utilisation de 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 "Terminating"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. Les conteneurs exécutés sur un nœud avec le streaming d'images activé sur des versions GKE spécifiques peuvent ne pas être créés et générer 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 plusieurs fichiers manquants. Les conteneurs exécutés sur un nœud avec le streaming d'images 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 lors de la 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 modifications 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 ou créé avec l'une des versions GKE suivantes :
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 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'outil public de suivi des problèmes.