Amazon EKS 联网 - Amazon EKS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EKS 联网

本章概述 Amazon EKS 网络。下图显示了 Amazon EKS 集群的关键组件以及这些组件与 VPC 的关系。


            EKS 联网

以下说明可帮助您了解图表的组件如何相互关联,以及本指南中的主题和您可以参考的其他 AWS 指南以了解更多信息。

  • Amazon VPC 和子网 所有 – 资源部署到现有 VPC 中的现有子网中的一个区域。Amazon EKS有关更多信息,请参阅 用户指南中的 VPC 和子网Amazon VPC。每个子网都存在于一个可用区中。VPC 和子网必须满足下列要求:

    • 必须适当地标记 VPC 和子网,以便 Kubernetes 知道它可以使用它们部署资源,如负载均衡器。有关更多信息,请参阅 VPC 标记要求子网添加标签要求. 如果您使用 Amazon EKS 提供的 AWS CloudFormation 模板或使用 eksctl 部署 VPC,则 VPC 和子网会正确标记。

    • 子网可能具有也可能不具有 Internet 访问权限。如果子网没有 Internet 访问权限,则部署在其中的 Pod 必须能够访问其他 AWS 服务(如 Amazon ECR)以提取容器映像。有关使用无法访问 Internet 的子网的更多信息,请参阅私有集群

    • 必须将您使用的任何公有子网配置为为在它们内启动的 Amazon EC2 实例自动分配公有 IP 地址。有关更多信息,请参阅 VPC IP 寻址.

    • 节点和控制层面必须能够通过适当标记的安全组在所有端口上进行通信。有关更多信息,请参阅 Amazon EKS 安全组注意事项.

    • 您可以实施网络隔离和租户隔离网络策略。网络策略类似于 AWS 安全组的一点是,您可以创建网络传入和传出规则。您使用 Pod 选择器和标签向 Pod 分配网络策略,而不是向安全组分配实例。有关更多信息,请参阅 在 Amazon EKS 上安装 Calico.

    您可以通过手动配置、使用 Amazon EKSeksctl 或 提供的 Amazon EKS 模板部署符合 AWS CloudFormation 要求的 VPC 和子网。和 eksctl 模板都使用所需的配置创建 VPC 和子网。AWS CloudFormation有关更多信息,请参阅 为 Amazon EKS 集群创建 VPC.

  • 控制层面Amazon EKS 由 – 在 Amazon EKS 托管 VPC 中部署和管理。Amazon EKS当您创建集群时,Amazon EKS 会在您的账户中创建和管理描述中包含 Amazon EKS <cluster name> 的网络接口。这些网络接口允许 AWS Fargate 和 Amazon EC2 实例与控制层面进行通信。

    默认情况下,控制层面公开一个公有终端节点,以便客户端和节点可以与集群进行通信。您可以限制可与公有终端节点通信的 Internet 客户端源 IP 地址。或者,您可以启用私有终端节点并禁用公有终端节点,或者同时启用公有和私有终端节点。要了解有关集群终端节点的更多信息,请参阅Amazon EKS 集群终端节点访问控制

    如果已配置将集群部署到的 VPC 与其他网络之间的连接,则本地网络或其他 VPC 中的客户端可以与公有或私有终端节点进行通信。有关将您的 VPC 连接到其他网络的更多信息,请参阅 AWS 网络到 Amazon VPC 连接选项到 Amazon VPC 连接选项Amazon VPC技术文章。

  • 实例Amazon EC2 每个 – 节点部署到一个子网。Amazon EC2每个节点都分配有来自分配给子网的 CIDR 块的私有 IP 地址。如果子网是使用 Amazon EKS 提供的 AWS CloudFormation 模板之一创建的,则子网会自动为部署到公有子网的节点分配公有 IP 地址。每个节点都使用 Pod 联网 (CNI) 进行部署,默认情况下,该节点会从分配给节点所在子网的 CIDR 块为每个 Pod 分配一个私有 IP 地址,并将该 IP 地址作为辅助 IP 地址添加到附加到实例的网络接口之一。此 AWS 资源在 API 中称为AWS 管理控制台网络接口Amazon EC2。因此,我们在本文档中使用“网络接口”,而不是“弹性网络接口”。本文档中的“网络接口”术语始终表示“弹性网络接口”。

    您可以更改此行为,方法是将其他 CIDR 块分配给 VPC 并启用 CNI 自定义网络,这会将 IP 地址分配给与节点部署到的不同子网的 Pod。要使用自定义联网,您必须在启动节点时启用它。您还可以将唯一安全组与很多 Amazon EC2 实例类型上运行的某些 Pod 关联。有关更多信息,请参阅 Pod 的安全组.

    默认情况下,与 VPC 外部的资源通信的每个 Pod 的源 IP 地址将通过网络地址转换 (NAT) 转换为连接到节点的主网络接口的主 IP 地址。您可以更改此行为,让私有子网中的 NAT 设备将每个 Pod 的 IP 地址转换为 NAT 设备的 IP 地址。有关更多信息,请参阅 外部源网络地址转换 (SNAT).

  • Fargate Pod – 仅部署到私有子网。每个 Pod 都分配有一个来自分配给子网的 CIDR 块的私有 IP 地址。Fargate 并不支持所有 Pod 网络选项。有关更多信息,请参阅 AWS Fargate 注意事项.