Kubernetes pod est recréé une fois supprimé

j'ai commencé les gousses avec la commande

# kubectl run busybox --image=busybox --restart=Never --tty -i --generator=run-pod/v1

quelque chose s'est mal passé, et maintenant je ne peux pas supprimer ce module J'ai essayé d'utiliser les méthodes ci-dessous mais il continue à se recréer

# kubectl delete pods  busybox-na3tm
pod "busybox-na3tm" deleted
# kubectl get pods
NAME                                     READY     STATUS              RESTARTS   AGE
busybox-vlzh3                            0/1       ContainerCreating   0          14s

# kubectl delete pod busybox-vlzh3 --grace-period=0


# kubectl delete pods --all
pod "busybox-131cq" deleted
pod "busybox-136x9" deleted
pod "busybox-13f8a" deleted
pod "busybox-13svg" deleted
pod "busybox-1465m" deleted
pod "busybox-14uz1" deleted
pod "busybox-15raj" deleted
pod "busybox-160to" deleted
pod "busybox-16191" deleted


# kubectl get pods --all-namespaces
NAMESPACE   NAME            READY     STATUS              RESTARTS   AGE
default     busybox-c9rnx   0/1       RunContainerError   0          23s
22
demandé sur Chris Stryczynski 2016-11-19 00:24:15

4 réponses

vous devez supprimer le déploiement, qui devrait à son tour supprimer les pods et les ensembles de répliqueshttps://github.com/kubernetes/kubernetes/issues/24137

Pour la liste de tous les déploiements:

kubectl get deployments --all-namespaces

puis supprimer le déploiement:

kubectl delete -n NAMESPACE deployment DEPLOYMENT

où NAMESPACE est le namespace dans lequel il est, et DEPLOYMENT est le name du déploiement.

57
répondu nomad 2018-07-30 16:59:04

si votre pod a un nom comme name-xxx-yyy, il pourrait être contrôlé par des répliques.apps nommé name-xxx, Vous pouvez supprimer cette réplique avant de supprimer le pod

kubectl delete replicasets.apps name-xxx

2
répondu Hieu Vo 2018-07-12 09:26:31

dans certains cas, les gousses ne disparaîtront pas même en supprimant le déploiement. Dans ce cas, pour les supprimer de force, vous pouvez exécuter la commande ci-dessous.

kubectl delete pods podname --grace-period=0 --force

1
répondu emirhosseini 2018-03-14 00:27:17

quand le pod est en train de se recréer automatiquement même après la suppression du pod manuellement, alors ces pods ont été créés en utilisant le déploiement. Lorsque vous créez un déploiement, il crée automatiquement ReplicaSet et Pods. Selon le nombre de répliques de votre pod que vous avez mentionné dans le script de déploiement, il créera ce nombre de pods initialement. Lorsque vous essayez de supprimer n'importe quel pod manuellement, il créera automatiquement ces pod à nouveau.

Oui, parfois il faut supprimer les gousses avec force. Mais dans ce cas, le commandement de la force ne fonctionne pas.

1
répondu babs84 2018-03-14 01:56:49