Azure Kubernetes 服务 (AKS) 中的配额、虚拟机大小限制和适用地区

所有 Azure 服务都为资源和功能设置默认限制和配额,包括特定虚拟机 (VM) SKU 的使用限制。

本文详述了 Azure Kubernetes 服务 (AKS) 资源的默认资源限制,以及 Azure 区域中 AKS 的可用性。

服务配额和限制

资源 限制
每个订阅的最大群集数 5000
注意:将群集分散到不同区域,以考虑 Azure API 限制
包含虚拟机规模集和标准负载均衡器 SKU 的每个群集的最大节点数 5000(所有节点池的总上限)(默认限制:1000)
注意:每个群集运行超过 1000 个节点需要增加默认节点限制配额。 请与支持部门联系获取帮助。
每个节点池的最大节点数(虚拟机规模集节点池) 1000
每个群集的最大节点池数 100
每个节点的最大 Pod 数:带 Kubenet 网络插件1 最大值:250
Azure CLI 默认值:110
Azure 资源管理器模板默认值:110
Azure 门户部署默认值:30
每个节点的最大 Pod 数:带 Azure 容器网络接口 (Azure CNI)1 最大值:250
建议用于 Windows Server 容器的最大数量:110
默认值:30
Open Service Mesh (OSM) AKS 加载项 Kubernetes 群集版本:AKS 支持的版本
每个群集的 OSM 控制器数:1
每个 OSM 控制器的 Pod 数:1600
由 OSM 管理的 Kubernetes 服务帐户数:160
具有标准负载均衡器 SKU 的每个群集的最大负载均衡 kubernetes 服务 300
包含虚拟机可用性集和基本负载均衡器 SKU 的每个群集的最大节点数 100

1 Windows Server 容器必须使用 Azure CNI 网络插件。 Windows Server 容器不支持 Kubenet。

Kubernetes 控制平面层 限制
标准层 根据负载自动缩放 Kubernetes API 服务器。 更大的控制平面组件限制和 API 服务器等实例。
免费层 资源有限,即时请求限制为 50 个变动调用和 100 个只读调用。 建议的节点限制为每个群集 10 个节点。 最适合试验、学习和简单测试。 不建议用于生产/关键工作负载

AKS 资源提供程序 API 的限制

AKS 使用令牌桶限制算法来限制某些 AKS 资源提供程序 API。 这可以确保服务的性能并促进所有客户对服务的公平使用。

桶具有固定的大小,并且会不断地以固定速率重新填充。 每个限制在区域级别针对该区域中的指定资源生效。

API 请求 存储桶大小 重新填充速率 资源
LIST 500 个请求 1 个请求/1 秒 订阅
PUT 20 个请求 1 个请求/1 分钟 AgentPools
PUT 20 个请求 1 个请求/1 分钟 ManagedClusters

注意

对于同一个 AKS 群集,ManagedClusters 和 AgentPools 桶是分开计数的。

如果请求受到限制,则该请求将返回 HTTP 响应代码 429(请求过多),并且错误代码将在响应中显示为 Throttled。 每个受限制请求在 HTTP 响应头中包含一个 Retry-After,其中包含重试之前等待的间隔(以秒为单位)。

预配的基础结构

所有其他网络、计算和存储限制均适用于预配的基础结构。 若要了解相关限制,请参阅 Azure 订阅和服务限制

重要

升级 AKS 群集时,会临时使用其他资源。 这些资源包括虚拟网络子网或虚拟机 vCPU 配额中的可用 IP 地址。

对于 Windows Server 容器,可以执行升级操作来应用最新的节点更新。 如果没有可用的 IP 地址空间或 vCPU 配额来处理这些临时资源,群集升级流程将失败。 有关 Windows Server 节点升级过程的详细信息,请参阅升级 AKS 中的节点池

支持的 VM 大小

AKS 中支持的 VM 大小列表会随着 Azure 中新 VM SKU 的发布而不断扩充。 请关注 AKS 发行说明以随时了解新的受支持 SKU。

受限制的 VM 大小

少于两个 CPU 的 VM 大小不能与 AKS 一起使用。 AKS 群集中的每个节点都包含固定数量的计算资源,例如 vCPU 和内存。 如果某个 AKS 节点包含的计算资源不足,则 Pod 可能无法正常运行。 若要确保能够可靠地计划所需的 kube-system Pod 和你的应用程序,不要在系统节点池上的 AKS 中使用 B 系列 VM 和以下 VM SKU:

  • Standard_A0
  • Standard_A1
  • Standard_A1_v2
  • Standard_F1
  • Standard_F1s

有关 VM 类型及其计算资源的详细信息,请参阅 Azure 中的虚拟机的大小

支持的容器映像大小

AKS 不会对容器映像大小设置限制。 但是,重要的是要了解:容器映像越大,对内存的要求就越高。 这可能超出资源限制或工作器节点的总体可用内存。 默认情况下,AKS 群集的 VM 大小 Standard_DS2_v2 的内存设置为 7 GiB。

当容器映像非常大(1 TiB 或更多)时,kubelet 可能无法将其从容器注册表拉取到节点,因为磁盘空间不足。

上市区域

有关可以在其中部署和运行群集的地点的最新列表,请参阅 AKS 适用地区

Azure 门户中的群集配置预设

使用 Azure 门户创建群集时,你可以选择预设配置,以便根据方案快速自定义。 你随时都可以修改任何预设值。

预设 说明
生产标准 最适合使用 AKS 推荐的最佳做法为生产流量提供服务的大多数应用程序。
开发/测试 最适合开发新工作负载或测试现有工作负载。
生产经济 如果工作负载可以容忍中断,最好以节约成本的方式为生产流量提供服务。
生产企业 最适合为具有严格权限和强化安全性的生产流量提供服务。
生产标准 开发/测试 生产经济 生产企业
系统节点池节点大小 Standard_D8ds_v5 Standard_DS2_v2 Standard_D8ds_v5 Standard_D16ds_v5
系统节点池自动缩放范围 2-5 个节点 2-100 个节点 2-5 个节点 2-5 个节点
用户节点池节点大小 Standard_D8ds_v5 - Standard_D8as_v4 Standard_D8ds_v5
用户节点池自动缩放范围 2-100 个节点 - - 2-100 个节点
专用群集 - - -
可用性区域 - -
Azure Policy - -
Azure Monitor - -
机密存储 CSI 驱动程序 - -
网络配置 Azure CNI Kubenet Azure CNI Azure CNI
网络配置 Calico Calico Calico Calico
身份验证和授权 使用 Kubernetes RBAC 本地帐户 使用 Kubernetes RBAC 本地帐户 使用 Azure RBAC Azure AD 身份验证 使用 Azure RBAC Azure AD 身份验证

后续步骤

可以增加某些默认限制和配额。 如果资源支持提高配额,请通过 Azure 支持请求来请求提高配额(请选择“配额”作为“问题类型”) 。