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文件一定要是刚才生成的文件;一个就是刚才操作的那个命名空间名字**。
成功删除所指定的命名空间。