1. ホーム
  2. クーベルネッツ

[解決済み】KubernetesのPodを削除すると再作成される。

2022-04-05 05:20:21

質問

コマンドでPodを起動しました。

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

何かが間違っていて、今はこれを削除することができません。 Pod .

後述の方法で試してみましたが Pod は再作成され続けます。

$ 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

解決方法は?

デプロイメントを削除する必要があり、それによってポッドとレプリカセットも削除されるはずです。 https://github.com/kubernetes/kubernetes/issues/24137

すべてのデプロイメントを一覧表示します。

kubectl get deployments --all-namespaces

次に、デプロイメントを削除します。

kubectl delete -n NAMESPACE deployment DEPLOYMENT

NAMESPACE は所属するネームスペースで、DEPLOYMENT はデプロイメントの名前です。NAMESPACEが default を削除してください。 -n というオプションがあります。

また、場合によっては、ジョブやデーモンセットによって実行されている可能性もあります。 以下を確認し、それらに適した削除コマンドを実行してください。

kubectl get jobs

kubectl get daemonsets.app --all-namespaces

kubectl get daemonsets.extensions --all-namespaces