有些时候 k8s 集群会遇到一只Terminating状态,在Rancher托管下的集群 namespace 强制删除的方法如下说明
NAME STATUS AGE
finalizer-example Terminating 15m
-
kubectl get namespace &{ your namespce } -o json | jq '.spec = {"finalizers":[]}' >tmp.json(获得json 文件并清除finalizers)
-
curl -X PUT --data-binary @tmp.json { clusterId }/api/v1/namespaces/ &{ your namespce } /finalize -H "Content-Type: application/json" --header "Authorization: Bearer ${ token }" --insecure
其中 recher-server 是指 rancher 访问的地址,clusterId 可以从rancher url 上获取, token 从浏览器的cookie里获得