k8s问题【删除namespace一直处于Terminating状态】


kubernetes在删除namespace时,或多或少出现过删除后一直处于Terminating状态,这时又该如何删除呢?
本文介绍各种手段删除处于Terminating状态的namespace

一般删除

kubectl delete namespace NAMESPACENAME

强制删除

kubectl delete namespace NAMESPACENAME --force --grace-period=0

删除finalizers

修改namespace配置,删除红色框中内容

kubectl edit namespace NAMESPACE_NAME

NAMESPACE

调用接口删除

也有可能,上述方法中没有看到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

文章作者: wuzhiyong
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wuzhiyong !
评论
 上一篇
docker拉取国外镜像失败【quay.io和gcr.io解决办法】 docker拉取国外镜像失败【quay.io和gcr.io解决办法】
使用国内镜像源。 quay.io例如下面拉取比较慢 docker pull quay.io/jetstack/cert-manager-cainjector:v0.12.0 可以换成 docker pull quay-mirror.qi
2020-01-07
下一篇 
istio使用【CRDs】 istio使用【CRDs】
本文使用istio版本号:1.4.2 Istio安装时,第一步就是创建了各种自定义资源类型(CRD),参考istio部署【在kubernetes上部署】,其中最重要的几个CRD包括:Gateway、VirtualService、De
2020-01-03
  目录