我已经用命令启动了豆荚

$ 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

当前回答

首先列出部署

Kubectl得到部署

之后,删除部署

Kubectl删除部署<deployment_name>

其他回答

你可以尝试删除replicaSet,而不是删除NS

kubectl get rs --all-namespaces

然后删除replicaSet

kubectl delete rs your_app_name

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

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

and

Kubectl删除作业<job-name>

我遇到了类似的问题:删除部署(kubectl delete deploy <name>)后,pod保持“Running”,删除后自动重新创建(kubectl delete po <name>)。

事实证明,由于某些原因,相关的副本集没有被自动删除,删除后(kubectl delete rs <name>),可以删除pods。

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

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

kubectl delete replicasets <Name of replicaset>

很明显,有什么东西在复活荚果。虽然很多其他的答案让你看一切(复制集,作业,部署,有状态集,…)来找到可能重生pod的东西,但你可以只看pod,看看是什么衍生了它。例如:

$ kubectl describe pod $mypod | grep 'Controlled By:'
Controlled By:  ReplicaSet/foobar

这告诉你是什么创造了这个豆荚。然后你可以删除它。