web-dev-qa-db-fra.com

Le statut de Pod est toujours ContainerCreating. . Les événements montrent "Echec de la création du bac à sable pour les pods"

J'essaie de créer un déploiement sur un cluster K8 avec un nœud principal et deux nœuds de travail. Le cluster s'exécute sur 3 instances AWS EC2. J'utilise cet environnement depuis quelque temps pour jouer avec Kubernetes. Il y a trois jours, j'ai commencé à voir l'état de tous les pods passer de ContainerCreating à Running. Seuls les modules programmés sur le maître sont affichés sous la forme Running. Les pods s'exécutant sur des nœuds de travail sont représentés par ContainerCreating. Quand je lance kubectl describe pod <podname>, il montre dans l’événement ce qui suit

 Events:
  Type     Reason                  Age   From                      Message
  ----     ------                  ----  ----                      -------
  Normal   Scheduled               34s   default-scheduler         Successfully assigned nginx-8586cf59-5h2dp to ip-172-31-20-57
  Normal   SuccessfulMountVolume   34s   kubelet, ip-172-31-20-57  MountVolume.SetUp succeeded for volume "default-token-wz7rs"
  Warning  FailedCreatePodSandBox  4s    kubelet, ip-172-31-20-57  Failed create pod sandbox.
  Normal   SandboxChanged          3s    kubelet, ip-172-31-20-57  Pod sandbox changed, it will be killed and re-created.

Cette erreur me dérange maintenant. J'ai essayé de rechercher en ligne sur erreur liée mais je ne pouvais rien obtenir de spécifique. J'ai fait la réinitialisation de kubeadm sur le cluster, y compris les nœuds maître et de travail, et j'ai à nouveau lancé le cluster. Le statut des noeuds indique Prêt. Mais je rencontre à nouveau le même problème chaque fois que j'essaie de créer un déploiement à l'aide de la commande ci-dessous, par exemple:

kubectl run nginx --image=nginx --replicas=2
4
userNB13

Cela peut se produire si vous spécifiez une limite ou une demande en mémoire et utilisez la mauvaise unité.

Ci-dessous déclenché le message:

resources:
   limits:
      cpu: "300m"
     memory: "256m"
   requests:
     cpu: "50m"
     memory: "64m"

La ligne correcte serait:

resources:
   limits:
      cpu: "300m"
     memory: "256Mi"
   requests:
     cpu: "50m"
     memory: "64Mi"
1
Jonathan

C'est peut-être quelqu'un d'autre, mais j'ai passé un week-end là-dessus jusqu'à ce que je remarque que j'avais demandé 1000 mem, avec 1000Mi ...

1
frbl

Je lance K8s sur quelques gouttelettes de DO et je suis resté bloqué sur cette question. Aucune autre information n'a été donnée - juste la FailedCreatePodSandBox se plaindre d'un fichier que je n'avais jamais vu auparavant. 

J'ai passé beaucoup de temps à essayer de comprendre - la seule chose qui résolve le problème pour moi était de redémarrer mon maître et chaque noeud dans leur intégralité. Cela a tout fait instantanément.

Sudo shutdown -r now

0
adstwlearn