kubernetes删除状态是Terminating的命名空间

7 篇文章 0 订阅

背景:

直接执行下面的命令删除命名空间ingress-nginx

kubernetes delete namespace ingress-nginx

并不能将命名空间ingress-nginx删除掉


[root@vms41 ~]# kubectl get ns -o wide
NAME              STATUS        AGE
default           Active        7d1h
ingress-nginx     Terminating   4m38s
kube-node-lease   Active        7d1h
kube-public       Active        7d1h
kube-system       Active        7d1h
metallb-system    Active        110m
[root@vms41 ~]# 

解决方法:

这时我们可执行如下步骤来删除这个状态是Terminating的命名空间。

1、NAMESPACE=ingress-nginx
2、kubectl proxy

[root@vms41 ~]# NAMESPACE=ingress-nginx
[root@vms41 ~]#
[root@vms41 ~]# kubectl proxy

3、重新打开一个终端

(1)、安装jq包

yum install jq -y

-bash: jq: 未找到命令
[root@vms41 9-svc]# yum install -y jq
已加载插件:fastestmirror
base                                                                                                                                         | 3.6 kB  00:00:00
docker-ce-stable                                                                                                                             | 3.5 kB  00:00:00
epel                                                                                                                                         | 4.7 kB  00:00:00
extras                                                                                                                                       | 2.9 kB  00:00:00
kubernetes/signature                                                                                                                         |  844 B  00:00:00
kubernetes/signature                                                                                                                         | 1.4 kB  00:00:00 !!!
updates                                                                                                                                      | 2.9 kB  00:00:00
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 jq.x86_64.0.1.6-2.el7 将被 安装
--> 正在处理依赖关系 libonig.so.5()(64bit),它被软件包 jq-1.6-2.el7.x86_64 需要
--> 正在检查事务
---> 软件包 oniguruma.x86_64.0.6.8.2-1.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决


..........


已安装:
  jq.x86_64 0:1.6-2.el7

作为依赖被安装:
  oniguruma.x86_64 0:6.8.2-1.el7

完毕!
[root@vms41 9-svc]# k

(2)、删除命名空间的finalizers相关信息


[root@vms41 9-svc]# kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json
[root@vms41 9-svc]#

(3)、删除这个命名空间


[root@vms41 9-svc]#
[root@vms41 9-svc]# curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize
{
  "kind": "Namespace",
  "apiVersion": "v1",
......

(4)、验证,命名空间ingress-nginx 已经被成功删除

[root@vms41 9-svc]# kubectl get ns -o wide
NAME              STATUS   AGE 
default           Active   7d2h
kube-node-lease   Active   7d2h
kube-public       Active   7d2h
kube-system       Active   7d2h
metallb-system    Active   126m
[root@vms41 9-svc]#

参考:https://stackoverflow.com/questions/52369247/namespace-stuck-as-terminating-how-do-i-remove-it

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值