k8s删除命名空间卡住,一直Terminating的排查解决思路
K8s删除命名空间时,可能会遇到卡住导致状态一直为Terminating,本文提供一些排查解决思路。
·
K8s删除命名空间时,可能会遇到卡住导致状态一直为Terminating,本文提供一些排查解决思路。
1. 首先describe ns查看是否报错,如果遇到NamespaceDeletionDiscoveryFailure报错,进而检查apiservices.apiregistration.k8s.io资源
kubectl get apiservices.apiregistration.k8s.io
kubectl delete apiservices.apiregistration.k8s.io v3.test.apiservice
可发现有些资源状态有问题,修复或删除状态错误的apiservices资源,等待一下命名空间会被释放
补充:当k8s中存在APIService对象时,删除命名空间时会访问APIService对象,如果存在APIService对象不能访问,会阻塞命名空间删除。有些插件会自动创建APIService,如metrics-server等。
2. 其次检查该命名空间下是否存在资源未被释放,查看命名空间下所有资源的命令:
kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get --show-kind --ignore-not-found -n default
将查到的资源进行删除
3. 上面两种方法如果还不能删除Terminating的命名空间,还有一种方法是通过接口强制删除命名空间,网上有大量的相关博客,这里不作赘述(个人不推荐这种方法,太恐怖了!)
更多推荐
已为社区贡献3条内容
所有评论(0)