Kubernetes删除不掉命名空间

删除 namespace 时,卡在 Terminating,很长时间无法删除,甚至增加 --force grace-period=0 之后还是无法正常删除。通过将该 namespace 导出为 json,进行相应的修改,然后调用原生接口就可以进行正常删除了。

查看 Namespace

可以看到 longhorn-system 命名空间处于 Terminating 正在删除状态:

[root@node1 ~]# kubectl get ns
NAME                        STATUS        AGE
longhorn-system               Terminating   10m

将 Namespace 导出为 JSON 格式

[root@node1 ~]# kubectl get ns longhorn-system -o json > tmp.json

对导出的 JSON 文件进行编辑

编辑前:

{
    ......
    "spec": {
        "finalizers": [
            "kubernetes"
        ]
    },
    "status": {
        "conditions": [
             ......
        ]
        "phase": "Terminating"
    }
}

编辑后如下:

{
    ......
    "spec": {
        
    },
    "status": {
        "phase": "Terminating"
    }
}

注:如果结果中 "spec": {} 中为空,则需要看下 metadata 部分是否有 finalizers 字段,如有则需要将 "finalizers": 字段值清空, “spec”:{} 字段值也要清空。

开启 Proxy

[root@node1 ~]#  kubectl proxy --port=8090
Starting to serve on 127.0.0.1:8090

调用 API 删除 Namespace

[root@node1 ~]# curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json 127.0.0.1:8090/api/v1/namespaces/longhorn-system/finalize
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值