K8S名稱空間處於Terminating狀態,如何強制刪除
阿新 • • 發佈:2022-03-23
一、現象
當刪除名稱空間後,發現該空間一直處於Terminating狀態
[root@imanager-beta-arm-21756-5g5ap ~]# kubectl get ns
NAME STATUS AGE
default Active 48m
kube-public Active 48m
kube-system Active 48m
supermap Terminating 37m
二、強制刪除流程
2.1 新開啟一個視窗,啟動一個程序
kubectl proxy --port=8081
2.2 匯出當前名稱空間json
kubectl get ns supermap -o json > supermap.json
2.3 開啟匯出的json檔案,並將spec欄位設定為空,如下最終結果
[root@imanager-beta-arm-21756-5g5ap ~]# cat supermap.json { "apiVersion": "v1", "kind": "Namespace", "metadata": { "creationTimestamp": "2020-07-22T01:04:57Z", "deletionTimestamp": "2020-07-22T01:24:34Z", "name": "supermap", "resourceVersion": "6656", "selfLink": "/api/v1/namespaces/supermap", "uid": "5bfc29b1-cbb7-11ea-a69c-fa163efc4ca9" }, "spec": { }, "status": { "phase": "Terminating" } }
2.4 通過傳送請求的方式進行刪除
curl -k -H "Content-Type:application/json" -X PUT --data-binary @supermap.json http://127.0.0.1:8081/api/v1/namespaces/supermap/finalize
其中
- supermap.json 是我們匯出的檔案
- supermap 是需要刪除的名稱空間
2.5 執行刪除命令返回檔案內容
[root@imanager-beta-arm-21756-5g5ap ~]# curl -k -H "Content-Type:application/json" -X PUT --data-binary @supermap.json http://127.0.0.1:808/api/v1/namespaces/supermap/finalize { "kind": "Namespace", "apiVersion": "v1", "metadata": { "name": "supermap", "selfLink": "/api/v1/namespaces/supermap/finalize", "uid": "5bfc29b1-cbb7-11ea-a69c-fa163efc4ca9", "resourceVersion": "11000", "creationTimestamp": "2020-07-22T01:04:57Z", "deletionTimestamp": "2020-07-22T01:24:34Z" }, "spec": { }, "status": { "phase": "Terminating" } }
2.6 最後再次檢查名稱空間,Terminating狀態已被刪除
[root@imanager-beta-arm-21756-5g5ap ~]#kubectl get ns
NAME STATUS AGE
default Active 53m
kube-public Active 53m
kube-system Active 53m
(轉發請註明出處:http://www.cnblogs.com/zhangyongli2011/ 如發現有錯,請留言,謝謝)