K8S 删除命令空间时 一直卡住怎么办?

当使用完一个命名空间后,想删除了又删除不掉,这个时候查看命名空间的状态一直是Terminating。使用强制删除,也是还是不行。(找了好多办法都不行)

root@k8s-master kubernetes-yaml\]# kubectl delete ns mem-example Error from server (Conflict): Operation cannot be fulfilled on namespaces "mem-example": The system is ensuring all content is removed from this namespace. Upon completion, this namespace will automatically be purged by the system.

1、原因(可能是因为这个命名空间namespace 下边又正在运行的pod。或者存在pod)也有可能这是K8S的一种机制。

2、使用强制删除命令 kubcelt delete ns [namespace] --force --grace-period=0 还是会报错。

3、解决方法:可以使用K8S的API删除。

1、首先导出需要删除的namespace的json文件到本地的json文件中。kubectl get ns demo-ns -o json > tmp.json

2、修改刚刚导出的文件,将"finalizers": [ "kubernetes"] 修改为"finalizers": [ ],保存并退出

3、打开一个新窗口,使用 kubectl proxy --port=8001,

4、在原先的窗口使用更改接口,来删除namespace tmp.json修改为自己保存的,cpu-test,是需要删除命名空间。curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.jsonhttp://127.0.0.1:8001/api/v1/namespaces/****cpu-test****/finalize

5、使用 kubec get ns 查看命令空间已经被删除

以上是解决K8S删除命名空间的方法,希望能帮助大家,欢迎一起探讨!!!

相关推荐
deeper_wind1 小时前
K8S-资源对象(小白的“升级打怪”成长之路)
容器·kubernetes
岚天start1 小时前
K8S容器POD内存快照导出分析处理方案
云原生·容器·kubernetes·内存·快照·pod·内存快照
周小码12 小时前
Go开发的自行托管代理加速服务:支持Docker与GitHub加速
docker·golang·github
川石课堂软件测试12 小时前
Oracle 数据库使用事务确保数据的安全
数据库·python·功能测试·docker·oracle·单元测试·prometheus
奋斗的老史13 小时前
25年Docker镜像无法下载的四种对策
docker·容器·eureka
chillxiaohan13 小时前
Docker学习记录
学习·docker·容器
柯南二号14 小时前
【后端】Docker 常用命令详解
服务器·nginx·docker·容器
新鲜萝卜皮14 小时前
容器内运行的进程,在宿主机的top命令中可以显示吗?
容器
我今天指定是不行了16 小时前
Docker安装与部分应用安装
docker
容器魔方16 小时前
Karmada v1.15 版本发布!多模板工作负载资源感知能力增强
云原生·容器·云计算