选择 Pod 联网使用案例 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

选择 Pod 联网使用案例

Amazon VPC CNI plugin for Kubernetes 为 Pods 提供联网功能。下表可帮助您了解哪些联网使用案例可以共同使用,以及可用于不同 Amazon EKS 节点类型的功能和 Amazon VPC CNI plugin for Kubernetes 设置。表中的所有信息仅适用于 Linux IPv4 节点。

Amazon EKS 节点类型 Amazon EC2 Fargate
使用案例 分配给网络接口的单个 IP 地址 分配给网络接口的 IP 前缀 Pods 的安全组
容器组(pod)的自定义网络:分配来自不同于节点子网的子网的 IP 地址 支持 支持 是(通过 Fargate 配置文件控制的子网)
适用于 Pods 的 SNAT 是(默认值为 false 是(默认值为 false 是(仅限 true 是(仅限 true
功能
安全组范围 节点

节点

容器组(pod)(如果您设置了 POD_SECURITY_GROUP_ENFORCING_MODE=standardAWS_VPC_K8S_CNI_EXTERNALSNAT=false,则发往 VPC 外部端点的流量使用节点的安全组,而不是 Pod's 安全组)

Pod
Amazon VPC 子网类型 公有和私有 公有和私有 仅限私有 仅限私有
网络策略(VPC CNI) 兼容 兼容

兼容

仅适用于 1.14.0 版本或更高版本的 Amazon VPC CNI 插件

不支持
每个节点的容器组密度 第一
容器组启动时间 较好 最佳
Amazon VPC CNI 插件设置(有关各项设置的更多信息,请参阅 GitHub 上的 amazon-vpc-cni-k8s
WARM_ENI_TARGET 支持 不适用 不适用 不适用
WARM_IP_TARGET 支持 支持 不适用 不适用
MINIMUM_IP_TARGET 支持 支持 不适用 不适用
WARM_PREFIX_TARGET 不适用 支持 不适用 不适用
注意
  • 不能将 IPv6 用于自定义联网。

  • IPv6 地址不会进行转换,因此 SNAT 不适用。

  • 流向和来自具有关联安全组的 Pods 的流量不受 Calico 网络策略执行限制,并且仅受限于 Amazon VPC 安全组执行。

  • 如果您使用 Calico 网络策略实施,则建议您将环境变量 ANNOTATE_POD_IP 设置为 true,以避免出现 Kubernetes 的已知问题。要使用此功能,必须将容器组(pod)的 patch 权限添加到 aws-node ClusterRole。请注意,向 aws-node DaemonSet 添加补丁权限会提高插件的安全范围。有关更多信息,请参阅 GitHub 上的 VPC CNI 存储库中的 ANNOTATE_POD_IP

  • IP 前缀和 IP 地址与标准 Amazon EC2 弹性网络接口相关联。需要特定安全组的容器组被分配给分支网络接口的主 IP 地址。您可以将获取 IP 地址或从 IP 前缀获取 IP 地址的 Pods 与在同一节点上获取分支网络接口的 Pods 混合使用。

Windows 个节点

每个节点仅支持一个网络接口。您可以使用辅助 IPv4 地址和 IPv4 前缀。默认情况下,节点上可用的 IPv4 地址数等于可分配给每个弹性网络接口的辅助 IPv4 地址数减 1。但是,您可以通过启用 IP 前缀来增加节点上可用的 IPv4 地址和 Pod 密度。有关更多信息,请参阅 提高 Amazon EC2 节点的可用 IP 地址数量

Windows 支持 Calico 网络策略。您不能在 Windows 上使用 Pods 的安全组自定义网络