k8s无法删除namespace

124.156.180.17

43.129.71.167

124.156.135.122

1、想要去删除k8s中的一个指定命名空间,刚开始使用命令

kubectl delete ns 命名空间的名字
# 或者使用
kubectl delete ns 命名空间的名字 --force --grace-period=0

使用以上两种命令均无法成功删除命名空间,只会使命名空间的状态为Terminating状态

2、使用以下方法成功删除

1)使用命令

kubectl get namespace 命名空间的名字 -o json > devtesting.json

执行完这条命令后,当前文件夹会出现devtesting.json这个文件夹,打开这个文件,删除字段 spec和finalizers这两个字段包含的内容。

2)使用kubectl代理,执行命名

kubectl proxy --port=8080

使用一下命令进行测试

curl http://localhost:8080/api/

3)使用http接口进行删除

curl -k -H "Content-Type: application/json" -X PUT --data-binary @devtesting.json http://127.0.0.1:8080/api/v1/namespaces/命名空间的名字/finalize

注意着里面的两个地方,一个是**.json文件一定要是刚才生成的文件;一个就是刚才操作的那个命名空间名字**。 成功删除所指定的命名空间。

Last updated