k8s删除Terminating状态的命名空间

小丫2年前技术文章1213

问题描述

Kubernetes中namespace有两种常见的状态,即Active和Terminating状态,其中Terminating状态一般会比较少见,当对应的命名空间下还存在运行的资源,但该命名空间被删除时才会出现所谓的Terminating状态,这种情况下只要等待Kubernetes本身将命名空间下的资源回收后,该命名空间将会被系统自动删除。

但是在某些情况下,即使命名空间下没有运行的资源,但依然无法删除Terminating状态的命名空间的情况,它会一直卡在Terminating状态下。

问题解决

1、查看命名空间详情

kubectl get ns |grep ingress-nginx-2

2、查看该命名空间下的资源

# 查看集群中可以使用命名空间隔离的资源
kubectl api-resources -o name --verbs=list --namespaced | xargs -n 1 kubectl get --show-kind --ignore-not-found -n ingress-nginx-2

发现ingress-nginx-2命名空间下并无资源占用。

3、尝试对命名空间进行删除

直接删除命名空间ingress-nginx-2

kubectl  delete ns ingress-nginx-2

未能正常删除

4、使用强制删除

kubectl  delete ns ingress-nginx-2 --force --grace-period=0

依然无法删除该命名空间

5、使用原生接口删除

大部分情况下删除不掉资源,需要使用原生接口删除。获取namespace的详情信息

kubectl  get ns ingress-nginx-2  -o json > ingress-nginx-2.json

查看namespace定义的json配置,编辑json文件并删除掉spec部分。

vim ingress-nginx-2.json


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

kubectl edit ns ingress-nginx-2

使用kubectl代理,执行命令

kubectl proxy --port=8080

使用一下命令进行测试

curl http://localhost:8080/api/

输出类似如下内容

image.png使用http接口进行删除

curl -k -H "Content-Type: application/json" -X PUT --data-binary @xx.json http://127.0.0.1:8080/api/v1/namespaces/命名空间的名字/finalize

再次查看,成功删除


相关文章

EMR-flinksql运行失败问题

EMR-flinksql运行失败问题

运行flinksqlsql-client.sh报错:[root@emr1 bin]# ./sql-client.shSLF4J: Class path contains multiple SLF4J...

用了函数就无法使用索引?MySQL函数索引值得你拥有

MySQL中的索引,就像图书馆里的索引卡片,帮我们快速定位到想要的信息。但是,如果你对这些卡片动了点“手脚”,比如用个函数来“改造”一下索引字段,那么这些卡片可能就不再那么有效了,查找起来就得费劲多了...

ES运维(六)_segment合并使用原理及场景

ES运维(六)_segment合并使用原理及场景

一、背景简介ES中,每个index(索引)都包含若干个Shard(分片),每个分片底层又是一个个Segment文件(段),每次数据的读写底层就是与一个个段文件的交互,因此ES调优常用的一块就是对段文件...

MySQL用户权限

MySQL用户权限

1 MySQL 的权限概述mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.29 。mysql权限表的验...

Pod 资源利用率计算

Pod CPU使用率即在过去的一段时间里进程占用的CPU时间与CPU总时间的比率,如果有多个CPU或者多核,需要将每个CPU的时间相加。container_cpu_usage_seconds_tota...

短信服务开通

短信服务开通

一、添加模版二、添加签名注意开通港澳台签名如果和国内签名冲突,需要修改国内签名 试用场景为通用,三、子账号授权新建RAM用户并创建AK信息提供 签名名称 以及模版CODE即可参考链接: https:/...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。