方式一:
kubectl --kubeconfig=path/config get namespace istio-system -o json | tr -d "\n" | sed "s/\"finalizers\": \[[^]]\+\]/\"finalizers\": []/" | kubectl --kubeconfig=path/config replace --raw /api/v1/namespaces/istio-system/finalize -f -
方式二:
1、将命名空间 yaml 文件导出为 json 文件,以 test namespace 为例
kubectl get ns test -o json > test.json
2、编辑该 json文件,将 spec 内的内容全部删除,然后保存退出
3、另开一个终端,启动 proxy
kubectl proxy --port=8081
4、使用以下命名删除 namespace
curl -k -H "Content-Type: application/json" -X PUT --data-binary @test.json http://127.0.0.1:8081/api/v1/namespaces/test/finalize
5、命令执行完成后就会发现 ns 删除成功