1
votes

Comment annuler un déploiement kubectl create?

J'étais en train de configurer un cluster nginx sur Google Cloud et j'ai entré un mauvais nom d'image; au lieu d'entrer:

kubectl create deploy nginx --image=1.17.10

J'ai entré:

kubectl create deploy nginx --image=nginx:1.17.10

et finalement après avoir exécuté kubectl get pods , il a montré ImagePullBackOff comme statut du pod.

Quand j'ai essayé d'exécuter la bonne commande create deploy ci-dessus, cela disait que "nginx" existait déjà.

Quand j'ai essayé de faire kubernetes delete --all pods , le pod a été recréé avec un nouvel ID mais avait toujours le même statut, et ne pouvait toujours pas me permettre d'exécuter la bonne commande 'kubectl create deploy' ci-dessus. Maintenant je suis bloqué.

Comment puis-je l'annuler?


0 commentaires

3 Réponses :


3
votes

Vous devez supprimer le déploiement:

kubectl get deploy 

Sinon, Kubernetes recréera le pod à chaque arrêt.

Vous pouvez voir tous vos déploiements avec

XXX


0 commentaires

1
votes

Modifiez le déploiement via kubectl edit deployment DEPLOYMENT_NAME et modifiez le nom de l'image.

Ou

Modifiez le fichier manifeste et ajoutez-y une image crinière correcte et effectuez un kubectl apply -f YAML file


0 commentaires

1
votes

Tout d'abord, votre cluster k8s essaie d'extraire image 1.17.10 du registre docker public. Mais comme il n'y a pas d'image avec ce nom, c'est pourquoi il y a une erreur. Et lorsque vous avez essayé de supprimer vos pods, il essaiera à nouveau de créer avec le même nom d'image que votre déploiement existe. Pour cette raison, vous devez supprimer le déploiement plutôt que les pods. Sinon, le déploiement essaiera automatiquement de créer à nouveau le pod supprimé.

vous pouvez réellement vérifier quelle était l'erreur dans votre déploiement avec cette commande:

kubectl delete deploy nginx

Pour vous, la commande va be kubectl delete deploy -n . Comme vous avez créé votre déploiement dans l'espace de noms par défaut, vous n'avez pas besoin de mentionner automatiquement l'espace de noms, ce sera l'espace de noms par défaut. vous pouvez supprimer le déploiement avec cette commande:

kubectl describe deploy nginx


0 commentaires