本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
已知限制和 Service Quotas
提示
通过 Amazon EKS 研讨会@@ 探索
Amazon EKS 可用于各种工作负载,可以与各种 AWS 服务进行交互,而且我们已经看到客户工作负载会遇到类似的 AWS 服务配额和其他阻碍可扩展性的问题。
您的 AWS 账户具有默认配额(您的团队可以申请的每个 AWS 资源数量的上限)。每个 AWS 服务都定义自己的配额,配额通常是特定于区域的。您可以请求增加某些配额(软限制),而其他配额则无法提高(硬限制)。在设计应用程序时,您应该考虑这些值。请考虑定期查看这些服务限制,并在应用程序设计期间将其纳入其中。
您可以在 AWS S ervice Quotas 控制台或使用 AWS CLI 查看账户中的使用情况并提出增加配额的
注意
Amazon EKS Ser vice Quotas 列出了服务配额,并提供了请求增加配额的链接(如果有)。
其他 AWS Service Quotas
我们已经看到 EKS 客户受到下面列出的其他 AWS 服务配额的影响。其中一些可能仅适用于特定的用例或配置,但是您可以考虑您的解决方案在扩展时是否会遇到任何这些用例或配置。配额是按服务组织的,每个配额都有一个 ID,格式为, L-XXXXXXXX 你可以用来在 AWS Service Quotas 控制台中查找
| 服务 | 配额 (L-xxxxx) | Impact | 身份证 (L-xxxxx) | 默认 |
|---|---|---|---|---|
|
IAM |
每个账户的角色数: |
可以限制账户中集群或 IRSA 角色的数量。 |
L-FE177D64 |
1000 |
|
IAM |
OpenId 按账户连接提供商 |
可以限制每个账户的集群数量,IRSA 使用 OpenID Connect |
L-858F3967 |
100 |
|
IAM |
角色信任策略长度 |
可以限制 IRSA 的 IAM 角色关联的集群数量 |
L-C07B4B0D |
2,048 |
|
VPC |
每个网络接口的安全组数 |
可能会限制集群对网络的控制或连接 |
L-2AFB9258 |
5 |
|
VPC |
每个 VPC 的 IPv4 CIDR 块数 |
可以限制 EKS 工作节点的数量 |
L-83CA0A9D |
5 |
|
VPC |
每个路由表的路由数 |
可能会限制集群对网络的控制或连接 |
L-93826ACB |
50 |
|
VPC |
每个 VPC 的活动 VPC 对等连接 |
可能会限制集群对网络的控制或连接 |
L-7E9ECCDB |
50 |
|
VPC |
每个安全组的入站或出站规则。 |
可能会限制集群对网络的控制或连接,EKS 中的某些控制器会创建新规则 |
L-0EA8095F |
50 |
|
VPC |
每个区域的 VPC 数 |
可以限制每个账户的集群数量,也可以限制集群的网络控制或连接 |
L-F678F1CE |
5 |
|
VPC |
每个区域的互联网网关数 |
可以限制每个账户的集群数量,也可以限制集群的网络控制或连接 |
L-A4707A72 |
5 |
|
VPC |
每个区域的网络接口数 |
可以限制 EKS 工作节点的数量,也可以限制 Impact EKS 控制平面 scaling/update 活动的数量。 |
L-DF5E4CA3 |
5000 |
|
VPC |
网络地址使用情况 |
可以限制每个账户的集群数量,也可以限制集群的网络控制或连接 |
L-BB24F6E5 |
64,000 |
|
VPC |
对等网络地址的使用情况 |
可以限制每个账户的集群数量,也可以限制集群的网络控制或连接 |
L-CD17FD4B |
128,000 |
|
ELB |
每个网络负载均衡器的侦听器数 |
可以限制对集群流量入口的控制。 |
L-57A373D6 |
50 |
|
ELB |
每个区域的目标组数 |
可以限制对集群流量入口的控制。 |
L-B22855CB |
3000 |
|
ELB |
每个 Application Load Balancer 的目标数 |
可以限制对集群流量入口的控制。 |
L-7E6692B2 |
1000 |
|
ELB |
每个网络负载均衡器的目标数 |
可以限制对集群流量入口的控制。 |
L-EEF1AD04 |
3000 |
|
ELB |
每个 Network Load Balancer 每个可用区的目标数 |
可以限制对集群流量入口的控制。 |
L-B211E961 |
500 |
|
ELB |
每个区域每个目标组的目标数 |
可以限制对集群流量入口的控制。 |
L-A0D0B863 |
1000 |
|
ELB |
每个区域的应用程序负载均衡器数 |
可以限制对集群流量入口的控制。 |
L-53DA6B97 |
50 |
|
ELB |
每个区域的经典负载均衡器数 |
可以限制对集群流量入口的控制。 |
L-E9E9831D |
20 |
|
ELB |
每个区域的网络负载均衡器数 |
可以限制对集群流量入口的控制。 |
L-69A177A2 |
50 |
|
EC2 |
运行 On-Demand 标准(A、C、D、H、I、M、R、T、Z)实例(作为最大 vCPU 数量) |
可以限制 EKS 工作节点的数量 |
L-1216C47A |
5 |
|
EC2 |
所有标准(A、C、D、H、I、M、R、T、Z)竞价型实例请求(作为最大 vCPU 数量) |
可以限制 EKS 工作节点的数量 |
L-34B43A08 |
5 |
|
EC2 |
EC2-VPC 弹性 IP |
可以限制 NAT GW(从而限制 VPC)的数量,这可能会限制区域中的集群数量 |
L-0263D0A3 |
5 |
|
EBS |
每个区域的快照数 |
可以限制有状态工作负载的备份策略 |
L-309BACF6 |
100000 |
|
EBS |
通用型 SSD(gp3)卷存储(单位 TiB) |
可以限制 EKS 工作节点的数量或 PersistentVolume 存储空间 |
L-7A658B76 |
50 |
|
EBS |
通用型 SSD(gp2)卷存储(单位 TiB) |
可以限制 EKS 工作节点的数量或 PersistentVolume 存储空间 |
L-D18FCD1D |
50 |
|
ECR |
已注册的存储库 |
可以限制集群中的工作负载数量 |
L-CFEB8E8D |
100000 |
|
ECR |
每个存储库的镜像数 |
可以限制集群中的工作负载数量 |
L-03A36CE1 |
20000 |
|
SecretsManager |
每个区域的秘密 |
可以限制集群中的工作负载数量 |
L-2F66C23C |
500,000 |
AWS 请求限制
AWS 服务还实施请求限制,以确保它们保持高性能并可供所有客户使用。与 Service Quotas 类似,每个 AWS 服务都有自己的请求限制阈值。如果您的工作负载需要快速发出大量 API 调用,或者您注意到应用程序中存在请求限制错误,请考虑查看相应的 AWS 服务文档。
在大型集群中或集群大幅扩展时,围绕配置 EC2 网络接口或 IP 地址的 EC2 API 请求可能会遇到请求限制。下表显示了我们看到的客户遇到请求限制的一些 API 操作。您可以在关于速率限制的 EC2 文档中查看 EC2 速率限制默认值以及请求提高速率限制的步骤。
| 变异动作 | Read-only 行动 |
|---|---|
|
AssignPrivateIpAddresses |
DescribeDhcpOptions |
|
AttachNetworkInterface |
DescribeInstances |
|
CreateNetworkInterface |
DescribeNetworkInterfaces |
|
DeleteNetworkInterface |
DescribeSecurityGroups |
|
DeleteTags |
DescribeTags |
|
DetachNetworkInterface |
DescribeVpcs |
|
ModifyNetworkInterfaceAttribute |
DescribeVolumes |
|
UnassignPrivateIpAddresses |
其他已知限制
-
Route 53 对 Route 53 API 的速率限制也相当低,为每秒 5 个请求。如果您有大量域名需要使用诸如外部 DNS 之类的项目进行更新,则更新域名时可能会出现速率限制和延迟。
-
某些 Nitro 实例类型的卷连接限制为 28 个,由 Amazon EBS 卷、网络接口和 NVMe 实例存储卷共享。如果您的工作负载正在安装大量 EBS 卷,则使用这些实例类型可以实现的 pod 密度可能会受到限制
-
每个 Ec2 实例可跟踪的连接数有上限。如果您的工作负载正在处理大量连接,则可能会出现通信失败或错误,因为已达到该最大值。您可以使用
conntrack_allowance_available和conntrack_allowance_exceeded网络性能指标来监控 EKS 工作节点上跟踪的连接数。 -
在 EKS 环境中,根据上游指南,etcd 存储限制为
8 GiB。请监控指标 apiserver_storage_size_bytes以跟踪 etcd db 大小。您可以参考警报规则etcdBackendQuotaLowSpaceetcdExcessiveDatabaseGrowth并设置此监控。
-