1.问题原因
查看命名空间,发现kubesphere-system一直处于Terminating 状态。无法删除命名空间!
2.解决方法
查看命名空间的namespace描述
kubectl get ns ingress-nginx -o json > ingress-nginx.json
编辑json文件,删除spec字段的内存,因为k8s集群时需要认证的。
vim ingress-nginx.json
将生成json文件里面的
"spec": { "finalizers": [ "ingress-nginx"
]
},
更改为:
"spec": {
},
然后新开一个窗口运行kubectl proxy 启动一个API代理在本地的8081端口(端口号可更改)
kubectl proxy --port=8081
最后运行curl命令进行删除(其中“ingress-nginx”为要删除的命名空间name)
curl -k -H "Content-Type:application/json" -X PUT --data-binary @ingress-nginx.json http://127.0.0.1:8081/api/v1/namespaces/命名空间名称/finalize
再次查看命名空间就会发现已经删除了
kubectl get ns