处于 Terminating 状态的 ns 经常无法正常删除。可尝试以下两种方法解决:
方法1、使用 --force 参数,delnsname 为要删除的命名空间
kubectl delete ns delnsname --force --grace-period=0
这种方法一般情况下是有效的。但在ns长时间处于Terminating的时候也会失效。
方法2、修改 finalize
a、导出ns的json文件
kubectl get ns delnsname -o json > delnsname.json
b、修改 json文件,删除 “finalizers” 内的 “kubernetes”
vi delnsname.json
c、执行命令:
kubectl replace --raw "/api/v1/namespaces/delnsname/finalize" -f ./delnsname.json
再检查就发现已经被删除了