配额和限制

本页介绍 Google Kubernetes Engine (GKE) 集群、节点以及 GKE API 请求的配额和限制。

GKE 每个项目的限制如下:

  • 每个区域最多 50 个集群,并且每个地区最多 50 个地区集群

GKE 每个集群的限制如下:

  • 在 1.17 版及更低版本的 GKE 中,每个集群最多可运行 5000 个节点。
  • 从 GKE 1.18 版开始,每个集群最多可运行 15000 个节点,但在运行的节点数超过 5000 时,需要提升集群大小配额。请与支持人员联系以获取帮助。
  • 每个节点池区域最多运行 1000 个节点。
  • 如果使用基于实例组的 Ingress,则在一个区域中,每个集群最多只能运行 1000 个节点。不过,使用基于 NEG 的 Ingress 实现容器原生负载平衡时,不受节点限制。建议您尽量使用这种方式。在 GKE 1.17 及更高版本中,基于 NEG 的 Ingress 是默认模式。
  • 每个节点最多 110 个 Pod。
  • 每个集群最多 150000 个 Pod 和 300000 个容器。

Kubernetes Engine API 的速率限制为每秒 10 个请求。

除了每个集群和每个项目的限制之外,特定 GKE 功能还有额外的限制。如需了解详情,请参阅您使用的功能对应的文档。

您可能还会受 Compute Engine 资源配额的约束。此外,对于采用默认地区 Compute Engine CPU 配额的项目,每个地区的容器集群数不能超过三个。

资源配额

从 GKE 1.12.5 版开始,系统会向节点数不超过五个的集群以及这些集群上的命名空间自动应用一组资源配额。您不能移除这些配额,它们起着保护集群控制平面的作用,避免因部署到集群的应用中存在潜在 Bug 而导致其不稳定。若要检查这些配额,请使用 kubectl get resourcequota gke-resource-quotas -o yaml 命令。如需查看给定命名空间的 gke-resource-quotas 对象,请添加 --namespace 选项以指定命名空间。

从 2019 年 8 月 26 日开始,系统会向节点数不超过 10 个的集群以及这些集群上的命名空间自动应用一组资源配额。您不能移除这些配额,它们起着保护集群控制层面的作用,避免因部署到集群的应用中存在潜在 Bug 而导致其不稳定。若要检查这些配额,请使用 kubectl get resourcequota gke-resource-quotas -o yaml 命令。如需查看给定命名空间的 gke-resource-quotas 对象,请添加 --namespace 选项以指定命名空间。