k8s問題【刪除namespace一直處於Terminating狀態】

  • 正常刪除
kubectl delete namespace NAMESPACENAME
  • 強制刪除
kubectl delete namespace NAMESPACENAME --force --grace-period=0
  • 修改finalizers,刪除下面紅色框內容
kubectl edit namespace NAMESPACE_NAME

  • 如果沒有上面的finalizers內容,通過調用接口刪除

第一步:將namespace內容導出到tmp.json文件中:

kubectl get namespace NAMESPACE_NAME -o json > tmp.json

第二步:修改tmp.json內容,刪除json中以下內容:

{
    //刪除spec整個內容
    "spec": {
        "finalizers": [
            "kubernetes"
        ]
    },
    
    "status": {
        "phase": "Terminating"
    }
}

第三步:開啓k8s接口代理,新開一個窗口,執行

[root@k8s-master ~]# kubectl proxy
Starting to serve on 127.0.0.1:8001

第四步:調用接口刪除Namespace,注意URL中修改成要刪除的NAMESPACE_NAME

curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/NAMESPACE_NAME/finalize

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章