目录

删除terminating的命名空间

方法一:

1
kubectl get ns XXXX -o json >XXXX.json

删除spec:下的内容,finalizers和其子项

本地启动kubeproxy

1
2
kubectl proxy --port=8081
curl -k -H "Content-Type:application/json" -X PUT --data-binary @XXXX.json <https://127.0.0.1:8081/api/v1/namespaces/XXXX/finalize>

方法二:

1
2
3
4
5
yum install -y jq
NAMESPACE=NAMESPACE_NAME
kubectl proxy --port=8081
kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' > temp.json
curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8081/api/v1/namespaces/$NAMESPACE/finalize

方法三:

1
kubectl get ns|grep catt| awk '{print $1}' |xargs kubectl patch ns  -p '{"metadata":{"finalizers":[]}}' --type=merge

方法四:

1
2
NAMESPACE=命名空间名称
kubectl get namespace $NAMESPACE -o json   | tr -d "\\\\n" | sed "s/\\\\"finalizers\\\\": \\\\[[^]]\\\\+\\\\]/\\\\"finalizers\\\\": []/"   | kubectl replace --raw /api/v1/namespaces/$NAMESPACE/finalize -f -