k8s删除pod一直处于terminating状态

用的nfs挂载卷,当删除pv后再删除pod时,pod一直处于terminating状态。

如下图:

解决方法:

  1. 可使用kubectl中的强制删除命令
    # 删除POD
    kubectl delete pod [pod name] --force --grace-period=0 -n [namespace]

    # 删除NAMESPACE
    kubectl delete namespace NAMESPACENAME --force --grace-period=0
  1. 若以上方法无法删除,可使用第二种方法,直接从ETCD中删除源数据(这是一种最暴力的方式,我们不建议直接操作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

 

 

 

 

posted @ 2019-05-19 12:32  西门运维  阅读(10569)  评论(0编辑  收藏  举报