为 AWS Outposts 上的 Amazon EKS 集群创建 VPC 和子网 - Amazon EKS

帮助改进此页面

想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

为 AWS Outposts 上的 Amazon EKS 集群创建 VPC 和子网

在您创建本地集群时,您将指定 VPC 以及在 Outpost 上运行的至少一个私有子网。本主题概述适用于本地集群的 VPC 和子网的要求和注意事项。

VPC 要求和注意事项

在您创建本地集群时,您指定的 VPC 必须满足以下要求和注意事项:

  • 请确保 VPC 具有足够的 IP 地址用于本地集群、任何节点以及您要创建的其他 Kubernetes 资源。如果要使用的 VPC 没有足够的 IP 地址,请增加可用的 IP 地址数量。您可以通过关联其他无类别域间路由(CIDR)块与 VPC 来执行此操作。您可以在创建集群之前或之后将私有 (RFC 1918) 和公有(非 RFC 1918)CIDR 块关联到您的 VPC。集群最多可能需要 5 个小时的时间来识别与 VPC 关联的 CIDR 块。

  • VPC 无法分配 IP 前缀或 IPv6 CIDR 块。由于这些限制,为带前缀的 Amazon EKS 节点分配更多 IP 地址将 IPv6 地址分配给您的集群、pods 和服务 中包含的信息不适用于您的 VPC。

  • VPC 已启用 DNS 主机名和 DNS 解析。如果没有这些功能,本地集群将无法创建,因此您需要启用这些功能,然后重新创建集群。有关更多信息,请参阅《Amazon VPC 用户指南》中的 VPC 的 DNS 属性

  • 要通过本地网络访问本地集群,VPC 必须与 Outpost 的本地网关路由表关联。有关更多信息,请参阅《AWS Outposts 用户指南》中的 VPC 关联

子网要求和注意事项

创建集群时,请指定至少一个私有子网。如果您指定多个子网,Kubernetes 控制面板实例将均匀分布在这些子网中。如果指定多个子网,则这些子网必须存在于同一 Outpost 上。此外,子网还必须具有适当的路由和安全组权限,以便相互通信。创建本地集群时,您指定的子网必须满足以下要求:

  • 子网均位于同一逻辑 Outpost 上。

  • 这些子网总共具有至少三个可用 IP 地址用于 Kubernetes 控制面板实例。如果指定三个子网,则每个子网必须具有至少一个可用 IP 地址。如果指定两个子网,则每个子网必须具有至少两个可用 IP 地址。如果指定一个子网,则该子网必须具有至少三个可用 IP 地址。

  • 子网具有通向 Outpost 机架的本地网关的路由,用于通过您的本地网络访问 Kubernetes API 服务器。如果子网没有通向 Outpost 机架的本地网关的路由,则您必须从 VPC 中与 Kubernetes API 服务器通信。

  • 子网必须使用基于 IP 地址的命名。Amazon EKS 不支持 Amazon EC2 基于资源的命名

子网对 AWS 服务 的访问

Outpost 上本地集群的私有子网必须能够与区域性 AWS 服务 通信。您可以通过使用 NAT 网关进行出站互联网访问来实现此目的,或者,如果您想在 VPC 内保持所有流量的私密性,则使用接口 VPC 端点

使用 NAT 网关

Outpost 上本地集群的私有子网必须具有关联的路由表,其中包含通向 NAT 网关(在 Outpost 的父可用区内的公有子网中)的路由。该公有子网必须具有一条通向互联网网关的路由。NAT 网关可以实现出站互联网访问,并防止从互联网到 Outpost 上实例进行未经请求的入站连接。

使用接口 VPC 端点

如果 Outpost 上本地集群的私有子网没有出站互联网连接,或者如果您想在 VPC 内保持所有流量的私密性,则在创建集群之前,您必须在区域性子网中创建以下接口 VPC 端点和网关端点

终端节点 端点类型
com.amazonaws.region-code.ssm 接口
com.amazonaws.region-code.ssmmessages 接口
com.amazonaws.region-code.ec2messages 接口
com.amazonaws.region-code.ec2 接口
com.amazonaws.region-code.secretsmanager 接口
com.amazonaws.region-code.logs 接口
com.amazonaws.region-code.sts 接口
com.amazonaws.region-code.ecr.api 接口
com.amazonaws.region-code.ecr.dkr 接口
com.amazonaws.region-code.s3 Gateway

端点必须满足以下要求:

  • 在位于 Outpost 父可用区的私有子网中创建

  • 启用私有 DNS 名称

  • 具有附加的安全组,该组允许来自私有 outpost 子网的 CIDR 范围的入站 HTTPS 流量。

创建端点会产生费用。有关更多信息,请参阅AWS PrivateLink 定价。如果您的 Pods 需要访问其他 AWS 服务,您需要创建额外的端点。有关端点的完整列表,请参阅 与 AWS PrivateLink 集成的 AWS 服务

创建 VPC

您可以使用以下 AWS CloudFormation 模板之一,创建满足上述要求的 VPC:

  • 模板 1 – 此模板会创建一个 VPC,该 VPC 具有一个位于 Outpost 的私有子网,以及一个位于 AWS 区域 的公有子网。该私有子网具有通过位于 AWS 区域 中公有子网中的 NAT 网关通向互联网的路由。此模板可用于在具有传出互联网访问权限的子网中创建本地集群。

  • 模板 2 – 此模板会创建一个 VPC,该 VPC 具有一个位于 Outpost 的私有子网,以及在没有传入或传出互联网访问权限的子网(也称为私有子网)中创建本地集群所需的最小 VPC 端点集。