9

我想永久删除一个 pod,这样我就可以重新创建 deployment.yaml 和 derveice.yaml,所以我尝试了:

 kubctl delete pod <pod>

吊舱还在那里,也试过了:

kubectl delete pods <pod> --grace-period=0

并没有工作。

唯一有效的是当我设置部署replicas: 0然后应用它时,但是当我尝试创建新部署时,我得到:

服务器出错:创建“myService/deployment.yaml”时出错:deployments.extensions“myService”已经存在

4

4 回答 4

15

Pod 是由 Deployment 创建的,所以当你删除一个 Pod 然后 Deployment 会根据replicas值自动创建它,你必须删除 Deployment 然后重新创建它,

您可以使用:

kubectl create -f deployment.yml
kubectl delete -f deployment.yml
于 2017-04-04T20:13:31.117 回答
7

删除Deployment特定于 pod 将自动终止 pod

kubectl get deployments

kubectl delete deployment deployment_name_to_delete --namespace=default  
(e.g., kubectl delete deployment ngnix --namespace=default)
于 2019-01-31T11:36:37.957 回答
1

1).注意,每个 pod 都是基于其部署文件生成的。因此,每次您删除一个 pod 时,它都会再次出现,因为您在部署文件中定义了值“ replicas: 1 ”。在这种情况下,使用命令 'kubectl delete pods --grace-period=0' 也将不起作用,因为将根据部署文件再次生成 pod。

2)。你得到你在问题中提到的错误的原因是因为部署仍然存在,你所做的只是设置' replicas:0 '这使得没有。应该在集群上启动或运行的 pod 数,等于 0。

3).要永久删除 Pod/s,您必须先删除该 Pod 的部署文件,然后再删除该 Pod(可选)。这将永久删除 pod。当然,部署本身将被永久删除。执行此操作的命令是:- kubectl delete -f deployment_file_name.yml 当然,您也可以从Kubernetes 的 UI中删除部署文件。

于 2017-05-12T14:01:03.597 回答
0
kubectl delete --grace-period=0  --force --namespace=system pod mysql-84fbb8bfc6-lhlnh
于 2018-09-27T06:38:16.770 回答