我已经用命令启动了豆荚

$ 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

当前回答

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

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

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

其他回答

Kubernetes总是以这样的格式工作:

部署>>> replicsets >>> pods

首先用0个副本编辑部署,然后用所需的副本扩展部署(运行下面的命令)。您将看到新的副本集已经创建,pod也将以所需的计数运行。

*

在linux中:~ anuragmanikkame$ kubectl scale deploy tomcat -n Dev-namespace——replicas=2部署。扩展/ tomcat缩放


这已经发生在我与一些破碎的“头盔”安装。你的部署可能有点混乱。如果前面的建议都不起作用,那么寻找一个守护进程并删除它。

如 Kubectl get daemonset——namespace

然后删除daemonset

kubectl delete daemonset --namespace <NAMESPACE> --all --force

然后尝试删除豆荚。

kubectl delete pod --namespace  <NAMESPACE> --all --force

检查吊舱是否消失了。

kubectl get pods --all-namespaces

对于有状态集(或服务,作业等)的部署,您可以使用此命令:

此命令终止在指定<命名空间>中运行的任何内容

kubectl -n <NAMESPACE> delete replicasets,deployments,jobs,service,pods,statefulsets --all

和有力的

kubectl -n <NAMESPACE> delete replicasets,deployments,jobs,service,pods,statefulsets --all --cascade=true --grace-period=0 --force

在我的例子中,我通过像kubectl apply -f deployment这样的YAML文件进行部署。解决方案似乎是通过kubectl delete -f deployment.yaml删除

我也遇到过这个问题,我已经用下面的命令删除部署了。

kubectl delete deployments DEPLOYMENT_NAME

但是仍然在重新创建豆荚,所以我使用下面的命令交叉检查副本集

kubectl get rs

然后将复制集编辑为1到0

kubectl edit rs REPICASET_NAME