我已经用命令启动了豆荚

$ 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 get daemonset——namespace

然后删除daemonset

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

然后尝试删除豆荚。

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

检查吊舱是否消失了。

kubectl get pods --all-namespaces

其他回答

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

部署>>> replicsets >>> pods

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

*

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


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

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

问题得到了解决

即使在手动删除pod之后,仍然自动重新创建pod,那么这些pod已经使用Deployment创建。 当您创建一个部署时,它会自动创建ReplicaSet和Pods。根据您在部署脚本中提到的pod的副本数量,它将最初创建这些数量的pod。 当你试图手动删除任何pod时,它会自动重新创建这些pod。

是的,有时你需要用武力删除豆荚。但在这种情况下,武力命令不起作用。

您需要删除部署,然后再删除pod和副本集https://github.com/kubernetes/kubernetes/issues/24137

列出所有部署:

kubectl get deployments --all-namespaces

然后删除部署:

kubectl delete -n NAMESPACE deployment DEPLOYMENT

其中NAMESPACE是它所在的名称空间,DEPLOYMENT是部署的名称。如果NAMESPACE是默认值,则完全取消-n选项。

在某些情况下,它也可能由于作业或守护进程启动而运行。 检查以下内容并运行相应的删除命令。

kubectl get jobs

kubectl get daemonsets.app --all-namespaces

kubectl get daemonsets.extensions --all-namespaces

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

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

and

Kubectl删除作业<job-name>