本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名原文链接~~~

删除处于 Terminating 状态的命名空间

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:


有时候,名称空间的正常删除操作可能会莫名卡在 Terminating 状态。

常用的解决方案是获取并保存目标 Namespace 对象的 JSON 格式的配置清单,将 spec.finalizers 字段的值置空,而后手动终止相应的名称空间对象即可。以名为 demo 的 Namespace 对象为例,首先获取其当前配置:

$ kubectl get ns demo -o json > demo-ns.json

编辑 demo-ns.json 文件,将其中的 spec.finalizers 的配置部分修改为如下所示:

$ cat demo-ns.json 
{
    "apiVersion": "v1",
    "kind": "Namespace",
...
    "spec": {
        "finalizers": []
    },
...
}

而后运行如下命令手动终止 demo Namespace:

$ kubectl replace --raw "/api/v1/namespaces/demo/finalize" -f demo-ns.json

Namespace 对象仅支持在 spec 中定义期望使用的终结器(finalizer,也称为垃圾收集器),用于让监测者在删除名称空间时清除相关的资源,它是个可选字段,且目前仅支持使用 kubernetes 作为 其属性值。在Namespace 对象上指定了不存在的终结器时并不影响创建操作,但删除该 Namespace 对象的操作将会被“卡住”,即删除操作将一直停留在 Terminating 状态。

# Kubernetes  

如果这篇文章对您有帮助,可点击下方链接分享给你的朋友们😋,如果遇到问题欢迎评论、留言~~~😇

评论

公众号:zze_coding

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×