选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

了解如何将 IPv6 地址分配给集群、容器组(pod)和服务

聚焦模式
了解如何将 IPv6 地址分配给集群、容器组(pod)和服务 - Amazon EKS

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

适用对象:使用 Amazon EC2 实例的容器组(pod)和 Fargate 容器组(pod)

默认情况下,Kubernetes 会将 IPv4 地址分配给容器组(pod)和服务。您可以将集群配置为向其分配 IPv6 地址,而不是将 IPv4 地址分配给容器组(pod)和服务。Amazon EKS 不支持双协议栈容器组(pod)或服务,即使 Kubernetes 的版本 1.23 及更高版本中支持也是如此。因此,您无法将 IPv4IPv6 地址同时分配给容器组(pod)和服务。

创建集群时,您可以选择要用于集群的 IP 系列。集群在创建之后无法更改系列。

有关部署 Amazon EKS IPv6 集群的教程,请参阅部署 Amazon EKS IPv6 集群和 Amazon Linux 托管节点

以下是使用该功能的注意事项:

IPv6 功能支持

IP 地址分配

  • Kubernetes 服务:仅为 Kubernetes 服务分配一个 IPv6 地址。系统不会为其分配 IPv4 地址。

  • 容器组(pod):将为容器组(pod)分配一个 IPv6 地址和一个主机本地 IPv4 地址。主机本地 IPv4 地址是使用与 VPC CNI 关联的主机本地 CNI 插件分配的,并且该地址不会报告给 Kubernetes 控制面板。仅在有容器组需要与其他 Amazon VPC 或互联网中的外部 IPv4 资源通信时才会使用该地址。主机本地 IPv4 地址将(由 VPC CNI)SNAT 转换为 Worker 节点的主 ENI 的主 IPv4 地址。

  • 容器组(pod)和服务:容器组(pod)和服务仅分配 IPv6 地址。系统不会为其分配 IPv4 地址。由于容器组(pod)能够通过实例本身上的 NAT 与 IPv4 端点通信,因此不需要 DNS64 和 NAT64。如果流量需要公有 IP 地址,则流量将源网络地址转换为公有 IP。

  • 路由地址:在 VPC 外部通信时,容器组(pod)的源 IPv6 地址并非转换为节点 IPv6 地址的源网络地址。它使用互联网网关或仅出口互联网网关进行路由。

  • 节点:所有节点均已分配 IPv4IPv6 地址。

  • Fargate 容器组(pod):每个 Fargate 容器组(pod)都会收到来自为其部署的子网指定的 CIDR 的 IPv6 地址。运行 Fargate 容器组(pod)的底层硬件单元从分配给部署硬件单元的子网的 CIDR 获取唯一的 IPv4IPv6 地址。

如何将 IPv6 与 EKS 结合使用。

  • 创建新集群:您必须创建新集群并指定该集群要使用 IPv6 系列。您无法为从前一版本更新的集群启用 IPv6 系列。有关如何创建新集群的说明,请参阅“注意事项”。

  • 使用最新的 VPC CNI:部署 Amazon VPC CNI 版本 1.10.1 或更高版本。默认情况下,会部署此版本或更高版本。部署附加组件后,您无法在不先删除集群所有节点组中的所有节点的情况下将 Amazon VPC CNI 附加组件版本降级到 1.10.1 版以下。

  • IPv6 配置 VPC CNI:如果您使用 Amazon EC2 节点,则必须使用 IP 前缀委派和 IPv6 配置 Amazon VPC CNI 附加组件。如果您在创建集群时选择 IPv6 系列,则 1.10.1 版的附加组件默认采用此配置。自行管理或 Amazon EKS 附加组件均为属于此种情况。有关 IP 前缀委派的更多信息,请参阅 为带前缀的 Amazon EKS 节点分配更多 IP 地址

  • 配置 IPv4IPv6 地址:创建集群时,您指定的 VPC 和子网必须具有分配给您指定的 VPC 和子网的 IPv6 CIDR 块。您还必须为其分配一个 IPv4 CIDR 块。这是因为,即使您只想使用 IPv6,VPC 仍然需要 IPv4 CIDR 块才能正常工作。有关更多信息,请参阅 Amazon VPC 用户指南中的关联 IPv6 CIDR 块与 VPC

  • 自动将 IPv6 地址分配非节点:创建节点时,必须指定配置为自动分配 IPv6 地址的子网。否则,您无法部署节点。默认情况下,将禁用此配置。有关更多信息,请参阅 Amazon VPC 用户指南中的修改子网的 IPv6 寻址属性

  • 设置路由表以使用 IPv6:分配给子网的路由表必须有 IPv6 地址的路由。有关更多信息,请参阅 Amazon VPC 用户指南中的迁移到 IPv6

  • IPv6 设置安全组:您的安全组必须允许 IPv6 地址。有关更多信息,请参阅 Amazon VPC 用户指南中的迁移到 IPv6

  • 设置负载均衡器:使用 AWS 负载均衡器控制器版本 2.3.1 或更高版本,对 HTTP 应用程序(通过使用 使用应用程序负载均衡器路由应用程序和 HTTP 流量)或流向 IPv6 容器组(pod)的网络流量(通过在 IP 模式下借助负载均衡器使用 使用网络负载均衡器路由 TCP 和 UDP 流量,不支持实例模式)进行负载均衡。有关更多信息,请参阅 使用 AWS 负载均衡器控制器路由互联网流量

  • 添加 IPv6 IAM 策略:您必须将 IPv6 IAM 策略附加到节点 IAM 或 CNI IAM 角色。在两者之间,我们建议您将其附加到 CNI IAM 角色。有关更多信息,请参阅 为使用 IPv6 系列的集群创建 IAM policy步骤 1:创建适用于 Kubernetes 的 Amazon VPC CNI 插件 IAM 角色

  • 评估所有组件:在部署 IPv6 集群之前对集成的应用程序、Amazon EKS 附加组件和 AWS 服务进行全面的评估。这是为了确保 IPv6 的所有功能按预期运行。

  • 添加BootstrapArguments 自行管理的节点组:在集群中创建使用 IPv6 系列的自行管理节点组时,用户数据必须包含在节点启动时运行的 bootstrap.sh 文件的以下 BootstrapArguments。将 your-cidr 替换为集群 VPC 的 IPv6 CIDR 范围。

    --ip-family ipv6 --service-ipv6-cidr your-cidr

    如果您不知道集群的 IPv6 CIDR 范围,可以使用以下命令查看(需要 AWS CLI 的 2.4.9 版本或更高版本)。

    aws eks describe-cluster --name my-cluster --query cluster.kubernetesNetworkConfig.serviceIpv6Cidr --output text

下一主题:

部署

上一主题:

模式和配置
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。