kubernetes - 命名空间 "stuck"作为终止,我如何删除它

标签 kubernetes namespaces

我删除了一个“卡住”的命名空间,显示在这个永恒的“终止”状态。

最佳答案

假设您已经尝试强制删除资源,例如:
Pods stuck at terminating status ,而你在你的智慧结束试图恢复命名空间......

您可以强制删除命名空间(可能会留下悬空的资源):

(
NAMESPACE=your-rogue-namespace
kubectl proxy &
kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json
curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize
)
  • 这是对答案的改进 here ,这是基于评论 here .
  • 我正在使用 jq实用程序以编程方式删除终结器部分中的元素。您可以改为手动执行此操作。
  • kubectl proxy127.0.0.1:8001 创建监听器默认情况下。如果您知道集群主服务器的主机名/IP,则可以改用它。
  • 有趣的是,即使使用 kubectl edit,这种方法似乎也有效。进行相同的更改没有任何效果。
  • 关于kubernetes - 命名空间 "stuck"作为终止,我如何删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52369247/

    相关文章:

    F#、命名空间、模块、fs 和 fsx

    c++ - C++命名空间的困扰

    go - 如何设置 google stackdriver 以尊重 kubernetes 的日志记录严重性?

    c# - 命名空间 'Standard' 是什么?

    c# - 一个 Web 应用程序,两个命名空间

    c# - 类型或命名空间名称 'Data' 在命名空间 'System' 中不存在

    asp.net-core - 如何在主/从 redis 设置上负载平衡读取?

    kubernetes - 从 minikube 中的 yaml 文件创建部署

    kubernetes - GCP Kubernetes 规模太高

    kubernetes - Spinnaker "Create Application"菜单无法加载