1 2 3 4 5 6 7 | # kubectl get ns NAME STATUS AGE default Active 48d kube-node-lease Active 48d kube-public Active 48d kube-system Active 48d monitoring Terminating 61m |
---|
可以看到monitoring这个namespace一直处于Terminating
状态,一般情况下强删是删不掉的,强删的方法如下:
1 | kubectl delete ns monitoring --force --grace-period=0 |
---|
如果删不掉,就参考下面的方法
1 | kubectl get ns monitoring -o json > /tmp/monitoring.json |
---|
查看monitoring.json
的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | { "apiVersion": "v1", "kind": "Namespace", "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"monitoring\"}}\n" }, "creationTimestamp": "2020-05-26T06:29:13Z", "deletionTimestamp": "2020-05-26T07:16:09Z", "name": "monitoring", "resourceVersion": "6710357", "selfLink": "/api/v1/namespaces/monitoring", "uid": "db09b70a-6198-443b-8ad7-5287b2483a08" }, "spec": { "finalizers": [ "kubernetes" ] }, "status": { "phase": "Terminating" } } |
---|
修改此monitoring.json
文件内容为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | { "apiVersion": "v1", "kind": "Namespace", "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"monitoring\"}}\n" }, "creationTimestamp": "2020-05-26T06:29:13Z", "deletionTimestamp": "2020-05-26T07:16:09Z", "name": "monitoring", "resourceVersion": "6710357", "selfLink": "/api/v1/namespaces/monitoring", "uid": "db09b70a-6198-443b-8ad7-5287b2483a08" }, "spec": { }, "status": { "phase": "Terminating" } } |
---|
打开一个新的终端,或者把下面的命令放到后台执行
1 | kubectl proxy |
---|
调用接口删除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # curl -k -H "Content-Type: application/json" -X PUT --data-binary @monitoring.json http://127.0.0.1:8001/api/v1/namespaces/monitoring/finalize { "kind": "Namespace", "apiVersion": "v1", "metadata": { "name": "monitoring", "selfLink": "/api/v1/namespaces/monitoring/finalize", "uid": "db09b70a-6198-443b-8ad7-5287b2483a08", "resourceVersion": "6710357", "creationTimestamp": "2020-05-26T06:29:13Z", "deletionTimestamp": "2020-05-26T07:16:09Z", "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"monitoring\"}}\n" } }, "spec": { }, "status": { "phase": "Terminating" } } |
---|
输出以上内容表示删除成功。