【问题标题】:gke-resource-quotas applied on clusters with 10+ nodesgke-resource-quotas 应用于超过 10 个节点的集群
【发布时间】:2020-03-02 02:38:32
【问题描述】:

关于 resource quotas 的 GKE 文档指出,这些硬性限制仅适用于具有 10 个或更少节点的集群。

即使我们有超过 10 个节点,这个配额已经创建,无法删除

这是 GKE 方面的错误还是故意的并且文档无效?

【问题讨论】:

    标签: google-cloud-platform google-kubernetes-engine


    【解决方案1】:

    我今天在使用 GKE 时遇到了一个非常奇怪的错误。我们托管的gitlab-runner 停止运行新作业,消息是:

    pods "xxxx" is forbidden: exceeded quota: gke-resource-quotas, requested: pods=1, used: pods=1500, limited: pods=1500
    

    因此配额资源是不可编辑的(如文档所述)。然而,问题是只有 5 个 Pod 正在运行,而不是 1500 个。所以它可能是一个 kubernetes 错误,它计算节点数的方式,不确定。 升级控制平面和节点后,错误并没有消失,我不知道如何重置节点的计数器。

    对我有用的是简单地删除此资源配额。很惊讶它甚至被允许/耸肩。

    kubectl delete resourcequota gke-resource-quotas -n gitlab-runner

    之后,重新创建了相同的资源配额,并且 Pod 能够再次运行。

    【讨论】:

      【解决方案2】:

      “gke-resource-quotas”可防止控制平面被部署在集群中的应用程序意外过载,从而产生过多的 kubernetes 资源。 GKE 会在集群的每个命名空间中自动安装一个名为“gke-resource-quotas”的开源 kubernetes ResourceQuota 对象。您可以使用此命令 [kubectl get resourcequota gke-resource-quotas -o yaml -n kube-system] 获取有关该对象的更多信息。

      目前,GKE 资源配额包括四个 Kubernetes 资源、Pod 数量、服务、作业和入口。它们的限制是根据集群大小和其他因素计算的。 GKE 资源配额是不可变的,不能通过 API 或 kubectl 对其进行更改。资源名称“gke-resource-quotas”是保留的,如果创建同名的ResourceQuota会被覆盖。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-04
        • 1970-01-01
        • 2020-03-19
        • 2019-08-10
        • 2021-11-15
        • 1970-01-01
        • 2021-06-10
        • 2017-04-16
        相关资源
        最近更新 更多