【问题标题】:GKE resourcequota INCORRECTLY shows pod limit reached and prevents new pod creationGKE resourcequota INCORRECTLY 显示已达到 pod 限制并阻止创建新的 pod
【发布时间】:2020-12-10 09:02:59
【问题描述】:

我无法在 GKE 的默认命名空间中创建新 pod。我使用 kubectl -n default get replicaset xxxx 检查了部署和副本集的错误 --> 错误是:

  Warning  FailedCreate  6m54s replicaset-controller  Error creating: pods "dummy-deployment-54b6f555b7-ms5sb" is forbidden: exceeded quota: gke-resource-quotas, requested: pods=1, used: pods=5k, limited: pods=5k

所以我运行了这个命令 kubectl get resourcequota gke-resource-quotas -o yaml -n default 来查看 gke-resource-quotas

发生了什么

我得到这个结果:

apiVersion: v1
kind: ResourceQuota
metadata:
  creationTimestamp: "2020-02-04T13:06:27Z"
  name: gke-resource-quotas
  namespace: default
  resourceVersion: "109072XXXX"
  selfLink: /api/v1/namespaces/default/resourcequotas/gke-resource-quotas
  uid: 2727d85b-474f-11ea-a2f2-XXXXXXXXXX
spec:
  hard:
    count/ingresses.extensions: 5k
    count/jobs.batch: 10k
    pods: 5k
    services: "1500"
status:
  hard:
    count/ingresses.extensions: 5k
    count/jobs.batch: 10k
    pods: 5k
    services: "1500"
  used:
    count/ingresses.extensions: "7"
    count/jobs.batch: "4540"
    pods: 5k
    services: "20"

但我使用 kubectl -n default get pods | wc -l 进行了检查,但我没有运行 5k 个 Pod。

这使我无法在 GKE 的 default 命名空间中创建新的 pod。

这似乎是部分 GKE/K8s 的错误。有谁知道我该如何解决这个问题?谢谢!

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    这完全像是 GKE 的预建配额问题。您可能在某一时刻达到了 5k 限制,可能没有针对已终止的 pod 进行更新,并且它认为已达到限制。

    Someone else found a workaround 所以我现在就试试吧:

    kubectl delete resourcequota gke-resource-quotas -n default
    

    如果您以这种规模运行并且这是一个重要的反复出现的问题,我强烈建议您点击GKE/GCP support。或者寻找替代方案,例如在 GKE 之外运行。

    ✌️

    【讨论】:

    • 谢谢。这似乎解决了这个问题。我也将它应用于其他命名空间。我们每 30 分钟运行多个 cronjobs。出于某种原因,他们的 pod 没有被自动删除——这可能促成了 5k 的数量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 2018-03-31
    • 2019-08-25
    • 1970-01-01
    相关资源
    最近更新 更多