k8s删除namespace失败一直处于Terminating状态

获取Terminating状态的namespace

复制代码
~ kubectl  get namespace
NAME                                     STATUS        AGE
bluehelix                                Active        146d
broker                                   Active        146d
cattle-fleet-clusters-system             Active        87d
cert-manager                             Terminating   87d

查询要删除的namespace下是否还有资源

复制代码
~ kubectl  get all -n cert-manager
No resources found in cert-manager namespace.

导出为json

复制代码
~ kubectl get ns cert-manager -o json > cert-manager.json

删除json文件中的finalize关键字字段

复制代码
vim cert-manager.json
删除前 
    "spec": {
        "finalizers": [
            "kubernetes"
        ]
    },
 
删除后
    "spec": {
        "finalizers": []
    },

开启 proxy

复制代码
~ kubectl proxy
Starting to serve on 127.0.0.1:8001

另起终端 指定刚才的json文件 执行以下命令进行删除操作

复制代码
curl -k -H "Content-Type: application/json" -X PUT --data-binary @cert-manager.json http://127.0.0.1:8001/api/v1/namespaces/cert-manager/finalize  

再次获取namespace状态,删除成功

复制代码
~ kubectl  get namespace
NAME                                     STATUS        AGE
bluehelix                                Active        146d
broker                                   Active        146d
cattle-fleet-clusters-system             Active        87d

如果仍然无法删除命名空间,请查看metadata部分是否存在finalizers字段,如果存在,需要通过如下命令进入命名空间后删除该字段,把metadata部分存在finalizers字段都删掉即可

复制代码
kubectl edit ns cert-manager 

原文链接

复制代码
https://blog.csdn.net/ma_qi_chao/article/details/135022175
相关推荐
数据库小组5 小时前
10 分钟搞定!Docker 一键部署 NineData 社区版
数据库·docker·容器·database·数据库管理工具·ninedata·迁移工具
灰阳阳7 小时前
Docker镜像远程(离线)迁移教程
运维·docker·容器
KIHU快狐8 小时前
KIHU快狐|台式液晶监视器桌面摆放药店用药安全宣传小屏幕
容器
岁岁种桃花儿8 小时前
kubenetes从入门到上天系列第十四篇:Kubernetes的持久化存储
云原生·容器·kubernetes
糟糕喔9 小时前
harbor私有仓库搭建
运维·docker·云原生·容器·kubernetes
05大叔11 小时前
微服务,拆分原则,远程调用,服务治理,OpenFeign
微服务·云原生·架构
就叫飞六吧14 小时前
K8s 端口暴露:集群统一暴露 vs 单 Pod 暴露
云原生·容器·kubernetes
执笔为剑14 小时前
docker环境升级数据库
数据库·docker·容器
于眠牧北15 小时前
ubuntu22.04安装docker以及安装过程中报错解决方法
运维·docker·容器
returnthem17 小时前
Docker学习笔记
云原生·eureka