Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Pour quelles raisons mon pod Amazon EKS est-il bloqué à l’état ContainerCreating avec l’erreur « Impossible de créer l’environnement de test du pod » ?
Mon pod Amazon Elastic Kubernetes Service (Amazon EKS) est bloqué à l’état ContainerCreating avec l’erreur « Impossible de créer l’environnement de test (sandbox) du pod ».
Résolution
Cette erreur s’affiche en cas de problème réseau ou de configuration incorrecte des limites de ressources système.
Si vous obtenez cette erreur et que vos pods se trouvent à l’état ContainerCreating, vérifiez l’état des pods. Exécutez ensuite la commande suivante pour obtenir plus de détails. Remplacez podname par le nom de votre pod :
kubectl describe pod podname
En fonction du résultat, consultez les sections suivantes pour suivre les étapes de dépannage.
Réponse d’erreur « Resource temporarily unavailable »
Si vous rencontrez un problème de ressources, un message d'erreur similaire au message suivant s'affiche :
"kubelet, ip-##-##-##-##.##-#####-#.compute.internal Failed to create pod sandbox: rpc error: code = Unknown desc = failed to start sandbox container for pod "example_pod": Error response from daemon: failed to start shim: fork/exec /usr/bin/containerd-shim: resource temporarily unavailable: unknown"
Cette réponse d’erreur se produit lorsque les paramètres de noyau définis pour le PID maximal ou le nombre maximal de fichiers entraînent une limitation du système d’exploitation.
Pour résoudre temporairement le problème, redémarrez le nœud.
Sinon, effectuez les tâches suivantes :
- Rassemblez les journaux des nœuds.
- Consultez les journaux Docker pour rechercher la réponse d’erreur « dockerd[4597]: runtime/cgo: pthread_create failed: Réponse d’erreur « Resource temporarily unavailable ».
- Consultez le journal Kubelet pour rechercher les réponses d’erreur suivantes :
« kubelet[5267]: runtime: failed to create new OS thread (have 2 already; errno=11) »
« kubelet[5267]: runtime: may need to increase max user processes (ulimit -u) ». - Exécutez la commande ps pour identifier les processus zombie. Tous les processus répertoriés avec l’état Z dans la sortie sont des processus zombie.
Réponse d’erreur « Network plugin cni failed to set up pod network »
Si vous rencontrez un problème réseau, un message d'erreur similaire au message suivant s'affiche :
« Network plugin cni failed to set up pod network: add cmd: failed to assign an IP address to container »
Cette réponse d’erreur signifie que l’interface réseau de conteneur (CNI) ne peut pas attribuer d’adresse IP au pod nouvellement créé.
Une instance qui utilise le maximum d’interfaces réseau élastiques et d’adresses IP autorisées peut provoquer cette réponse d’erreur. Vous pouvez également recevoir cette réponse d’erreur lorsque le nombre d’adresses IP des sous-réseaux Amazon Virtual Private Cloud (Amazon VPC) est égal à zéro.
Voici un exemple utilisant le nombre maximal d’adresses IP d’interface réseau :
Instance type Maximum network interfaces Private IPv4 addresses per interface IPv6 addresses per interfacet3.medium 3 6 6
Dans l’exemple précédent, l’instance t3.medium possède un maximum de trois interfaces réseau possédant chacune un maximum de six adresses IP. La première adresse IP est utilisée pour le nœud et vous ne pouvez pas l’attribuer. Cette interface réseau possède alors 17 adresses IP attribuables.
Lorsque l’interface réseau est à court d’adresses IP, les journaux du démon de gestion des adresses IP (ipamD) local affichent le message suivant :
"ipamd/ipamd.go:1285","msg":"Total number of interfaces found: 3 » « AssignIPv4Address : statistiques du pool d’adresses IP : total : 17, 17 attribuées » « AssignPodIPv4Address : ENI eni-abc123 does not have available addresses »
Par exemple, consultez la sortie suivante :
Warning FailedCreatePodSandBox 23m (x2203 over 113m) kubelet, ip-##-##-##-##.##-#####-#.compute.internal (combined from similar events): Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" network for pod "provisioning-XXXXXXXXXXXXXXX": networkPlugin cni failed to set up pod "provisioning-XXXXXXXXXXXXXXX" network: add cmd: failed to assign an IP address to container
Vérifiez le sous-réseau pour déterminer s’il ne reste plus d’adresses IP disponibles. Vous pouvez voir les adresses IP disponibles pour chaque sous-réseau dans la console Amazon VPC dans la section Sous-réseaux.
Subnet: ##########IPv4 CIDR Block 10.2.1.0/24 Number of allocated ips 254 ; Free address count 0
Pour résoudre ce problème, utilisez les solutions suivantes :
- Assurez-vous d'utiliser la dernière version disponible de CNI VPC.
- Réduisez verticalement la charge de travail pour libérer les adresses IP utilisées.
- Augmentez le nombre de nœuds si d’autres adresses IP sont disponibles dans le sous-réseau.
- Utilisez la mise en réseau personnalisée des pods.
- Activez le mode délégation de préfixes. Pour plus d'informations, consultez la section Mode préfixe pour Windows depuis le compte AWS sur le site web GitHub.
Réponse d’erreur « Error while dialing »
Si vous rencontrez un problème de numérotation, une erreur similaire à l’erreur suivante s'affiche :
« Error while dialing dial tcp 127.0.0.1:50051: connect: connection refused »
Cette erreur indique que le pod aws-node n’a pas pu communiquer avec IPAM, car le pod aws-node n’a pas pu s’exécuter sur le nœud.
Pour résoudre ce problème, assurez-vous d’exécuter la bonne version du plug-in CNI VPC compatible avec la version du cluster.
Les pods sont peut-être en En attente en raison d’erreurs de sonde Liveness et Readiness. Assurez-vous de disposer de la dernière version du module complémentaire CNI VPC.
Le problème peut également survenir en raison d’un échec du point de montage Dockershim (avec les versions d’EKS antérieures à la version 1.23). L’exemple de message suivant indique un échec de montage du pod pour var/run/dockershim.sock :
Getting running pod sandboxes from \"unix:///var/run/dockershim.sock\Not able to get local pod sandboxes yet (attempt 1/5): rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or director
Pour résoudre ce problème, procédez comme suit :
- Redémarrez le pod aws-node pour remapper le point de montage.
- Reliez le nœud et mettez les nœuds du groupe de nœuds à l’échelle.
- Mettez à niveau l’interface réseau Amazon VPC avec la dernière version de cluster prise en charge.
Si vous avez ajouté la CNI en tant que plug-in géré dans la console de gestion AWS, le aws-node échoue aux sondes. Les plug-ins gérés remplacent le compte de service. Cependant, le compte de service n’est pas configuré avec le rôle sélectionné. Pour résoudre ce problème, désactivez le plug-in depuis la console de gestion AWS, puis créez le compte de service à l’aide d’un fichier manifeste. Vous pouvez également modifier le compte de service aws-node actuel pour ajouter le rôle utilisé dans le module complémentaire géré.
Réponse d’erreur « Pod does not have label »
Si vous rencontrez un problème d'étiquette, une erreur similaire à l’erreur suivante s'affiche :
Erreurs « Failed to parse Kubernetes args: pod does not have label vpc.amazonaws.com/PrivateIPv4Address » ou « Pod does not have label vpc.amazonaws.com/PrivateIPv4Address »
Ce problème se produit lorsqu’un pod n’utilise pas de contrainte nodeSelector planifiée sur un nœud Windows.
Pour résoudre le problème, assurez-vous d’inclure les étiquettes suivantes dans PodSpec pour le nodeSelector :
- kubernetes.io/os : windows
- kubernetes.io/arch : amd64
Erreur du groupe de sécurité
Si vous rencontrez un problème de groupe de sécurité, une erreur similaire à l’erreur suivante s'affiche :
« Plugin type="aws-cni" name="aws-cni" failed (add): add cmd: failed to assign an IP address to container
Vpc-resource-controller failed to allocate branch ENI to pod: creating network interface, NoCredentialProviders: no valid providers in chain. Deprecated."
Cette réponse d’erreur peut indiquer un problème avec le plan de contrôle health.kubernetes. Pour résoudre ce problème, contactez AWS Support.
Vidéos associées


Contenus pertinents
- demandé il y a 7 moislg...
- demandé il y a 2 anslg...
- demandé il y a 2 anslg...
- demandé il y a 2 anslg...
- AWS OFFICIELA mis à jour il y a 9 mois
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a un an