我已经用命令启动了豆荚

$ 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

当前回答

而不是试图弄清楚它是否是一个部署,deamonset, statefulset…或者什么(在我的情况下,它是一个复制控制器,不断跨越新的pod:) 为了确定是什么在图像上不断扩展,我用这个命令得到了所有的资源:

kubectl get all

当然,你也可以从所有命名空间中获取所有资源:

kubectl get all --all-namespaces

或者定义你想要检查的命名空间:

kubectl get all -n NAMESPACE_NAME

一旦我看到复制控制器是我的麻烦,我删除了它:

kubectl delete replicationcontroller/CONTROLLER_NAME

其他回答

如果你的pod有一个像name-xxx-yyy这样的名字,它可以被一个replicasets控制。名为name-xxx的应用程序,在删除pod之前,你应该先删除该副本集:

kubectl delete replicasets.apps name-xxx

而不是试图弄清楚它是否是一个部署,deamonset, statefulset…或者什么(在我的情况下,它是一个复制控制器,不断跨越新的pod:) 为了确定是什么在图像上不断扩展,我用这个命令得到了所有的资源:

kubectl get all

当然,你也可以从所有命名空间中获取所有资源:

kubectl get all --all-namespaces

或者定义你想要检查的命名空间:

kubectl get all -n NAMESPACE_NAME

一旦我看到复制控制器是我的麻烦,我删除了它:

kubectl delete replicationcontroller/CONTROLLER_NAME

在我的例子中,我使用下面这些

kubectl get all --all-namespaces 
kubectl delete deployment statefulset-deploymentnament(choose your deployment name)
kubectl delete sts -n default(choose your namespace) --all 
kubectl get pods --all-namespaces

问题得到了解决

您可以根据年龄或时间执行kubectl get replicasets检查旧部署

如果要删除相同的应用程序当前运行pod,请根据时间删除旧部署

kubectl delete replicasets <Name of replicaset>

如果存在继续运行的作业,则需要搜索并删除该作业:

Kubectl get job—所有命名空间| grep <name>

and

Kubectl删除作业<job-name>