背景
在k8s中执行删除命名空间后,命名空间没有被删除而是处于Terminating状态,此时再执行删除仍然删除不掉
解决
将要删除的命名空间信息导出为json数据(下面traefik-v2 替换成你需要删除的命名空间名称)
kubectl get ns traefik-v2 -o json > tmp.json
编辑导出的tmp.json文件,删除其中的如下配置
vi tmp.json
删除标红的spec中所有内容
删除后如下
开启代理
kubectl proxy
新开启一个终端执行如下命令(其中traefik-v2替换成你自己的命名空间名称)
注意:新终端的当前所在目录需要和之前终端一致,因为需要找到tmp.json文件
curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/traefik-v2/finalize
如下图已经删除了