image-20220317203007538

1、问题现象

假设我们的现在要删除的namespace是dev,执行如下命令进行删除:

image-20220317192634252

执行如下命令查看namespace删除情况:

img

可以看到删除状态显示Terminating,而且会一直持续这个状态。

并且用:kubectl delete ns dev --force --grace-period=0强制删除也是不行。。。;

2、解决办法

针对这个情况我们可以这样解决:

1.现将要删除的namespace的描述信息导出到文件,如下图

kubectl get namespace dev -o json > tmp.json

img

2.修改导出文件,删除其中的finalizers这一项,其他保持不变,删除前如图:

img

删除后如图:

img

3.打开一个新的终端执行kubectl proxy如图所示:启用代理

kubectl proxy

image-20220317201950823

4.最后运行:调用api删除

curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/dev/finalize

image-20220317202012054

5、查看namesapce,可以发现原来处于terminating状态的namesapce被删除了。

结束。

3、总结

自己遇到过这个故障现象,按网上这个方法操作了下就可以删除了;

很奇怪,这个是什么原因呢??。。;(可能是这个namesapce下面有一些资源吧,,例如正在运行的pod等等。。;)😥

参考链接

https://blog.csdn.net/shengjie87/article/details/108976085

https://zhuanlan.zhihu.com/p/418035941

hengjie87/article/details/108976085

https://zhuanlan.zhihu.com/p/418035941

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐