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

相关推荐
lang2015092822 分钟前
Spring Boot与K8s集成的核心机制
spring boot·后端·kubernetes
RationalDysaniaer29 分钟前
k8s配置与存储
云原生·容器·kubernetes
..Move...6 小时前
Docker镜像制作
运维·docker·容器
行思理12 小时前
Docker 应该如何学习 分四个阶段
学习·docker·容器
..Move...13 小时前
Docker应用部署tomcat和nginx
nginx·docker·tomcat
Jenwein15 小时前
Linux中使用docker的网络问题
后端·docker
Dobby_0515 小时前
【Linux】安装 Rocky Linux 9 并配置 Kubernetes 集群基础环境 | VMware | Win11
linux·云原生·kubernetes
java_logo16 小时前
Docker 部署 Debian 全流程教程
linux·运维·docker·容器·debian
❀͜͡傀儡师16 小时前
基于 docker compose 进行部署PandaWiki
运维·docker·容器
老年DBA17 小时前
Kubernetes 上的 GitLab + ArgoCD 实践(二):使用自建 GitLab Runner 完善 CI 流程
kubernetes·gitlab·argocd