K8S如何强制删除namespace

最近在k8s上通过Prometheus Operator部署了一套prometheus监控系统,现在想删除,但是其命名空间monitoring却一直无法删除处于Terminaling状态

 经过查阅资料问题应该是monitoring这个namespace下应该还有其他资源没有删除干净。

下面是删除monitoring 这个namespace的方法:

先运行kubectl get namespace jenkins-o json > tmp.json,拿到当前namespace描述,然后打开tmp.json,删除其中的spec字段。

 # kubectl get namespace monitoring -o json > tmp.json

将spec里的内容删除干净,保存退出:

 然后新开一个窗口运行kubectl proxy跑一个API代理在本地的8081端口

  # kubectl proxy --port=8081

 最后执行命令:

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

然后再看一下命名空间,发现monitoring已经被删除了。

原文地址:https://www.cnblogs.com/douh/p/12487577.html