k8s中强制删除pod方法

  • Post author:
  • Post category:其他





k8s删除pod一直处于terminating状态,无法被删除


删除pod的时候发现 pod 一直处于 terminating 状态,而且使用 delete 命令删除的时候一直会卡的没反应。

  • 可以使用强制删除的方法解决:
# 强制删除POD
kubectl delete pod [pod name] --force --grace-period=0 -n [namespace]
 
# 强制删除名称空间
kubectl delete namespace NAMESPACENAME --force --grace-period=0
  • 筛选出集群中状态是

    Terminating

    的 pod,随后进行删除
kubectl get pods | grep "Terminating"| awk  '{print $1}'

kubectl  delete pod $(kubectl get pods | grep "Terminating"| awk  '{print $1}')  --force --grace-period=0  -n default
  • 如果依旧无法解决,可以从ETCD中删除源数据
# 删除 namespace下的pod名为pod-to-be-deleted-0
    export ETCDCTL_API=3 
etcdctl del /registry/pods/default/pod-to-be-deleted-0
# 删除需要删除的
    etcdctl del /registry/namespaces/NAMESPACENAME
#或者删除

kubectl  get ns istio-system -o json >tmp.json

修改tmp.json 删除其中的spec字段

kubectl proxy --port=8081

curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8081/api/v1/namespaces/istio-system/finalize



版权声明:本文为m0_56444183原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。