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删除命名空间的方法,希望能帮助大家,欢迎一起探讨!!!

相关推荐
ZHOU_WUYI2 小时前
使用 Docker 部署 React + Nginx 应用教程
nginx·react.js·docker
小锋学长生活大爆炸3 小时前
【教程】Docker更换存储位置
运维·docker·容器
gnufre4 小时前
Kubernetes 1.28 无 Docker 运行时环境下的容器化构建实践:Kaniko + Jenkins 全链路详解
kubernetes·jenkins·kaniko
川石教育7 小时前
测试工程师如何学会Kubernetes(k8s)容器知识
云原生·容器·kubernetes·kubernetes容器·kubernetes教程
iRayCheung8 小时前
Kind方式部署k8s单节点集群并创建nginx服务对外访问
nginx·kubernetes·kind
小黑_深呼吸8 小时前
Prometheus实战教程:k8s平台-Mysql监控案例
运维·学习·kubernetes·prometheus
THMAIL9 小时前
mac M芯片运行docker-desktop异常问题
macos·docker·容器
两点王爷10 小时前
IDEA中springboot项目中连接docker
spring boot·docker·intellij-idea
家庭云计算专家10 小时前
还没用过智能文档编辑器吗?带有AI插件的ONLYOFFICE介绍
服务器·人工智能·docker·容器·编辑器
富士康质检员张全蛋11 小时前
云原生|kubernetes|kubernetes的etcd集群备份策略
云原生·kubernetes·etcd