帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。
为使用 EC2 实例存储配置的 AWS Outposts 上的 Amazon EKS 本地集群选择实例类型和置放
本主题提供的指南,包括如何为使用 EC2 实例存储配置的 AWS Outpost 上的 Amazon EKS 本地集群选择 Kubernetes 控制面板实例类型,以及如何配置置放以满足高可用性要求。
注意
如果您的 Outpost 是使用 Amazon EBS 而不是 EC2 实例存储配置的,则本主题中描述的架构不适用于您的 Outpost。使用 EBS 配置的 Outposts 将继续使用现有的本地集群实现。有关更多信息,请参阅 根据容量因素为 AWS Outposts 上的 Amazon EKS 集群选择实例类型和置放群组。
如果您有兴趣使用更新后的本地集群架构在 EBS 支持的 Outpost 上创建本地集群,请联系您的 AWS 客户团队。
控制面板架构
本地集群 Kubernetes 控制面板会在您的 Outpost 上的 6 个 EC2 实例上运行:
-
3 个控制面板实例:用于托管 Kubernetes 控制面板组件,包括 Kubernetes API 服务器、调度器和控制器管理器。
-
3 个
etcd实例:用于将 Kubernetes 集群状态存储在外部 etcd 拓扑中。
这些实例将在您的 Outpost 上的 AWS 托管式服务账户中运行,不会作为 EC2 实例在您的 AWS 账户或 Amazon EC2 控制台中显示。控制面板消耗的容量在 AWS Outposts 控制台中可见。
控制面板在有负载时不会水平扩缩。如果需要不同的控制面板实例大小,则必须创建新集群。
实例类型选择
在 AWS Outposts 上的 Amazon EKS 本地集群架构更新后,Kubernetes 控制面板使用专用的 etcd 拓扑:API 服务器和 etcd 分别在单独的实例上运行。创建集群时,您需要指定两种实例类型:用于 API 服务器的 controlPlaneInstanceType,以及用于 etcd 的 etcdInstanceType。
您选择的实例类型必须在 Outpost 上可用。可用的实例系列取决于您的 Outpost 版本和 SKU,不同实例系列的相同实例大小可能具有不同的 vCPU 和内存配置。
API 服务器controlPlaneInstanceType ()
| 预期 Worker 节点 | vCPU | 内存 |
|---|---|---|
|
1–20 |
2 |
8 GiB |
|
21–100 |
4 |
16 GiB |
|
101–250 |
8 |
32 GiB |
|
251–500 |
16 |
64 GiB |
etcd (etcdInstanceType)
| 预期 Worker 节点 | vCPU | 内存 |
|---|---|---|
|
1–50 |
2 |
8 GiB |
|
51–250 |
4 |
16 GiB |
|
251–500 |
8 |
32 GiB |
重要
请确保本地集群生命周期内,您的 Outpost 具有 3 个 controlPlaneInstanceType 实例和 3 个 etcdInstanceType 实例所需的容量。
这些表格应仅作为指导参考,而非严格要求。建议选择能满足预期增长的实例系列和大小,因为集群创建后将无法更改 controlPlaneInstanceType 和 etcdInstanceType。要更改其中任何一项,则必须创建新的集群。
控制面板和 etcd 置放
为确保高可用性,我们建议将控制面板和 etcd 实例跨多个硬件故障域分布。您可以在 outpostConfig 中使用 controlPlanePlacement 和 etcdPlacement 上的 spreadLevel 属性来控制此分布。设置 spreadLevel 后,Amazon EKS 会使用该分布策略创建一个 EC2 置放群组。您无需预先创建置放群组。
注意
controlPlanePlacement 中的 groupName 参数不适用于运行基于实例存储的 EC2 实例的 Outposts。如果您之前将置放群组用于某个本地集群,现在应改用 spreadLevel。
分布级别
spreadLevel 属性接受两个值:
-
host:将控制面板实例分布到不同的物理主机。需要至少 3 台使用所选实例类型配置的主机。 -
rack:将控制面板实例分布到不同的物理 Outpost 机架上。需要至少 3 个位于使用所选实例类型配置的主机上的机架。
容量规划
在为本地集群计划 Outpost 容量时,应注意以下因素:
-
控制面板和
etcd实例:每个集群需要 6 个实例(其中 3 个用于controlPlaneInstanceType,3 个用于etcdInstanceType)。 -
Worker 节点:您自行管理的节点组的 EC2 实例。
-
虚拟化主机:控制面板必须在虚拟化主机上运行。您的 Outpost 必须拥有具备足够容量的虚拟化主机。
置放问题排查
如果在指定分布级别后,您的集群长时间处于 CREATING 或 UPDATING 状态,请验证您的 Outpost 中配置了所选实例类型的主机或机架数量是否足够,以满足分布拓扑的需要。
有关排查本地集群问题的更多信息,请参阅使用 EC2 实例存储配置的 AWS Outposts 上的 Amazon EKS 本地集群问题排查。