九析带你轻松完爆 k8s 删除 namespace 卡在 terminating

网友投稿 331 2022-10-30

九析带你轻松完爆 k8s 删除 namespace 卡在 terminating

目录

1 解决方案综述

2 错误描述

3 解决方案

3.1 导出 ns 资源定义

3.2 编辑 ns 资源定义

3.3 创建代理服务器

3.4 curl 调用删除 ns

1 解决方案综述

创建本地代理服务器,然后通过 curl 客户端调用 restful api 强行删除 namespace。

2 错误描述

删除 ns 时(本文是 gitlab-ce,个人根据实际情况修改),发现长期处于 “terminating” 状态:

于是执行如下语句强行删除:

kubectl delete ns gitlab-ce --force --grace-period=0

出现如下错误:

Error from server (Conflict): Operation cannot be fulfilled on namespaces "gitlab-ce": The system is ensuring all content is removed from this namespace.  Upon completion, this namespace will automatically be purged by the system.

3 解决方案

3.1 导出 ns 资源定义

kubectl get ns gitlab-ce -o json > gitlab-ce.json

3.2 编辑 ns 资源定义

3.3 创建代理服务器

在本地和 k8s apiserver 之间创建代理服务器,后续会将删除 namespace 的 api 通过代理服务器端口(默认8001)转发到远程 k8s apiserver 服务器处理。

kubectl proxy

3.4 curl 调用删除 ns

执行 curl 客户端调用,删除 ns。

curl -k -H "Content-Type: application/json" -X PUT --data-binary @gitlab.json terminating 状态的 namespace。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:为什么串行接口(以SERDES为代表)变得如此流行
下一篇:Docker基本控制命令(资源控制、数据卷及数据卷容器、镜像创建、端口映射、私有仓库)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~