2.Kubernetes强制删除一直处于Terminating状态的pod,namespace
手动搭建的Kubernetes,使用原生的Dashboard,感觉不舒服,于是使用Rancher2.0代理了Kubernetes的管理web页面。因未知原因,Rancher服务无法启用,删除Rancher依赖的namespace(cattle-system),状态一直是Terminating。此为背景。
解决方法:
- 可使用kubectl中的强制删除命令
# 删除POD
kubectl delete pod PODNAME --force --grace-period=0
# 删除NAMESPACE
kubectl delete namespace NAMESPACENAME --force --grace-period=0
- 若以上方法无法删除,可使用第二种方法,直接从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