故障现象如下:
在启动dashboard的时候报错,再次创建无法创建。
查看命名空间状态为Terminating,且持续了许久。。
强制删除也没有立马生效。
解决方法:
1、先将namespace的配置文件输出保存
kubectl get namespace 命名空间的名字 -o json > devtesting.json
[root@k8s-master-1 ~]# kubectl get namespace kuboard -o json > devtesting.json
[root@k8s-master-1 ~]# ls
anaconda-ks.cfg calico.yaml dashboard-token.yaml devtesting.json krew-linux_amd64.tar.gz kuboard-create-token.yaml LICENSE nginx_test pod2.yaml recommended.yaml
2、编辑json文件,删除字段spec和finalizers包含的内容
[root@k8s-master-1 ~]# vim devtesting.json
编辑后,如下图所示
3、使用kubectl代理来执行命名,并打开另一个终端:
[root@k8s-master-1 ~]# kubectl proxy --port=8080
Starting to serve on 127.0.0.1:8080
4、在另一个中断中,使用http接口进行删除
curl -k -H "Content-Type: application/json" -X PUT --data-binary @devtesting.json http://127.0.0.1:8080/api/v1/namespaces/命名空间的名字/finalize
最后成功删除命名空间,结果如下