Je suis nouveau à Kubernetes. J'ai un problème dans les pods. Quand je lance la commande
kubectl get pods
Résultat:
NAME READY STATUS RESTARTS AGE
mysql-apim-db-1viwg 1/1 Running 1 20h
mysql-govdb-qioee 1/1 Running 1 20h
mysql-userdb-l8q8c 1/1 Running 0 20h
wso2am-default-813fy 0/1 ImagePullBackOff 0 20h
En raison d'un problème de noeud "wso2am-default-813fy", je dois le redémarrer. Toute suggestion?
Généralement, dans le cas de "ImagePullBackOff", il est réessayé après quelques secondes/minutes. Si vous souhaitez réessayer manuellement, vous pouvez supprimer l'ancien pod et recréer le pod. La commande à une ligne pour supprimer et recréer le pod serait:
kubectl replace --force -f <yml_file_describing_pod>
Si vous n'avez pas le fichier yaml:
kubectl get pod PODNAME -n NAMESPACE -o yaml | kubectl replace --force -f -
$ kubectl replace --force -f <resource-file>
si tout se passe bien, vous devriez voir quelque chose comme:
<resource-type> <resource-name> deleted
<resource-type> <resource-name> replaced
vous trouverez des détails à ce sujet dans la documentation de Kubernetes, "gérer-le déploiement" et kubectl-cheatsheet pages au moment de la rédaction.
Si la Pod
fait partie d'une Deployment
ou Service
, sa suppression fera redémarrer la Pod
et, éventuellement, la placera sur un autre noeud:
$ kubectl delete po $POD_NAME
replace
si c'est un individu Pod
:
$ kubectl get po -n $namespace $POD_NAME -o yaml | kubectl replace -f -
Essayez de supprimer le pod, il essaiera de tirer à nouveau l’image.
kubectl delete pod <pod_name> -n <namespace_name>
Essayez d’abord de voir ce qui ne va pas avec le pod:
kubectl logs -p <your_pod>
Dans mon cas, c'était un problème avec le fichier YAML.
J'ai donc dû corriger le fichier de configuration et le remplacer:
kubectl replace --force -f <yml_file_describing_pod>