我总结了3种方式,前2种并不总是有用,没用的时候可以试试第3种
1.强制删除,加上--force --grace-period=0
参数
以kuboard ns为例:
k delete ns kuboard --force --grace-period=0
2.删除ns长时间卡住,ns status为terminating,可以用edit编辑ns信息,删掉finalizer行
仍然以kuboard ns为例:
k edit namespace kuboard
删掉finalizer2行
controller.cattle.io/namespace-auth
删除后退出,这下再看ns就删除成功了~~
3.终极方法
终端1,执行
kubectl proxy
Starting to serve on 127.0.0.1:8001
此时会打开8001端口
终端2,执行
kubectl get ns rook-ceph -o json | jq '.spec.finalizers=[]' | curl -X PUT http://localhost:8001/api/v1/namespaces/rook-ceph/finalize -H "Content-Type: application/json" --data @-
2处需替换处于Terminating状态的ns名
这样一定会快速删掉ns,不信就试试吧~~~
参考链接:
https://github.com/rancher/rancher/issues/14715
https://www.cnblogs.com/leozhanggg/p/12780653.html