kubernetes namespace Terminating

1.kubectl get namespace annoying-namespace-to-delete -o json > tmp.json
then edit tmp.json and remove"kubernetes"

curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json https://kubernetes-cluster-ip/api/v1/namespaces/annoying-namespace-to-delete/finalize

and it should delete your namespace,

2.Kubernetes强制删除一直处于Terminating状态的pod,namespace

手动搭建的Kubernetes,使用原生的Dashboard,感觉不舒服,于是使用Rancher2.0代理了Kubernetes的管理web页面。因未知原因,Rancher服务无法启用,删除Rancher依赖的namespace(cattle-system),状态一直是Terminating。此为背景。

解决方法:

  1. 可使用kubectl中的强制删除命令
    # 删除POD
    kubectl delete pod PODNAME --force --grace-period=0 # 删除NAMESPACE
    kubectl delete namespace NAMESPACENAME --force --grace-period=0
  1. 若以上方法无法删除,可使用第二种方法,直接从ETCD中删除源数据(这是一种最暴力的方式,我们不建议直接操作etcd中的数据,在操作前请确认知道你是在做什么。)
    # 删除default namespace下的pod名为pod-to-be-deleted-0
    ETCDCTL_API=3 etcdctl del /registry/pods/default/pod-to-be-deleted-0 # 删除需要删除的NAMESPACE
    etcdctl del /registry/namespaces/NAMESPACENAME
上一篇:关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)


下一篇:【原创】大叔经验分享(9)yarn重要配置yarn.nodemanager.local-dirs