场景:执行以下命令都无法删除namespace、处于进行状态(卡住)
kubectl delete ns 命名空间的名称
kubectl delete ns 命名空间的名称 --force --grace-period=0
解决方法:
- 首先以分区的形式将命名空间导出,会出现一个(命名空间的名称.json)的json文件
kubectl get ns 命名空间的名称 -o json > 命名空间的名称.json
- 编辑该json文件,将spec内容中的 finalizers删除
vim 命名空间的名称.json
- 再打开一个终端窗口,启用kubectl代理
kubectl proxy --port=8081
- 最后使用curl命令就能成功删除了
curl -k -H "Content-Type: application/json" -X PUT --data-binary @命名空间的名称.json http://127.0.0.1:8081/api/v1/namespaces/命名空间的名称/finalize