帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。
了解 EKS 自动模式下的 VPC 联网和负载均衡
本主题介绍如何在 EKS 自动模式下配置虚拟私有云(VPC)联网和负载均衡功能。虽然 EKS 自动模式会自动管理大多数联网组件,但您仍然可以通过 NodeClass 资源和负载均衡器注释来自定义集群联网配置的某些方面。
使用 EKS 自动模式时,Amazon 会管理集群的 VPC 容器网络接口(CNI)配置和负载均衡器预置。您可以通过定义 NodeClass 对象并对服务和 Ingress 资源应用特定的注释来影响联网行为,同时保持 EKS 自动模式提供的自动运行模式优势。
联网功能
EKS 自动模式具有一个能够处理节点和容器组(pod)联网的新联网功能。您可以通过创建 NodeClass Kubernetes 对象来对其进行配置。
以前的 Amazon VPC CNI 配置选项不适用于 EKS 自动模式。
使用 NodeClass 配置联网
借助 EKS 自动模式中的 NodeClass 资源,您可以自定义联网功能的某些方面。通过 NodeClass,您可以指定安全组选择,控制 VPC 子网中的节点放置,设置 SNAT 策略,配置网络策略以及启用网络事件日志记录。这种方法既可保持 EKS 自动模式的自动化运行模式,同时又可灵活自定义网络。
您可以使用 NodeClass 来:
-
选择节点的安全组
-
控制节点在 VPC 子网上的放置方式
-
将节点 SNAT 策略设置为
random或disabled -
启用 Kubernetes 网络策略,包括:
-
将网络策略设置为“默认拒绝”或“默认允许”
-
启用将网络事件日志记录到文件。
-
-
通过将容器组(pod)连接到不同的子网,将容器组(pod)流量与节点流量隔离开来。
了解如何创建 Amazon EKS 节点类。
注意事项
EKS 自动模式支持下列功能:
-
EKS 网络策略。
-
Kubernetes 容器组的
HostPort和HostNetwork选项。 -
公有子网或私有子网中的节点和容器组(pod)。
-
在节点上缓存 DNS 查询。
EKS 自动模式不支持下列功能:
-
每容器组的安全组(SGPP)。
-
ENIConfig中的自定义联网。您可以将容器组(pod)放在多个子网中,也可以使用 容器组(pod)的子网选择 专门将它们与节点流量隔离开来。 -
暖 IP、暖前缀和暖 ENI 配置。
-
最低 IP 目标配置。
-
开源 Amazon VPC CNI 支持的其他配置。
-
网络策略配置,例如 conntrack 计时器自定义(默认为 300 秒)。
-
将网络事件日志导出到 CloudWatch。
网络资源管理
EKS 自动模式通过监控用于网络配置的节点类资源来处理前缀、IP 寻址及网络接口管理。该服务会自动执行多项关键操作:
前缀委派
EKS 自动模式会默认使用前缀委托(/28 前缀)进行容器组(pod)联网,并维护可根据调度的容器组(pod)数量进行扩展的预定义 IP 热池。检测到容器组(pod)子网碎片时,自动模式会预置辅助 IP 地址(/32)。由于这种默认的容器组(pod)联网算法,自动模式会根据每种实例类型支持的 ENI 和 IP 数量来计算每个节点的最大容器组(pod)数(假设是最坏的碎片化情况)。有关每个实例类型的最大 ENI 和 IP 数量的更多信息,请参阅《EC2 用户指南》中的每个网络接口的最大 IP 地址数。新一代(Nitro v6 及更高版本)实例系列通常会增加每种实例类型的 ENI 和 IP,自动模式会相应地调整最大容器组(pod)计算。
对于 IPv6 集群,仅使用前缀委派,自动模式始终使用每个节点 110 个容器组(pod)的最大容器组(pod)限制。
冷却管理
该服务为不再使用的前缀或辅助 IPv4 地址设置了冷却池。冷却时间到期后,这些资源将释放回 VPC。但是,如果容器组(pod)在冷却时间内重复使用这些资源,它们将从冷却池中恢复。
IPv6 支持
对于 IPv6 集群,EKS 自动模式会在主网络接口上为每个节点预置 /80 IPv6 前缀。
该服务还可确保对所有网络接口进行适当管理和垃圾回收。
负载均衡
您可以使用服务和 Ingress 资源上的注释来配置由 EKS 自动模式预置的 Amazon 弹性负载均衡器。
有关更多信息,请参阅创建 IngressClass 以配置应用程序负载均衡器或使用服务注释配置网络负载均衡器。
EKS 自动模式负载均衡的注意事项
-
默认目标模式是 IP 模式,而不是实例模式。
-
EKS 自动模式仅支持网络负载均衡器的安全组模式。
-
Amazon 不支持将负载均衡器从自主管理型 Amazon 负载均衡器控制器迁移到由 EKS 自动模式管理。
-
不支持
TargetGroupBinding规范中的networking.ingress.ipBlock字段。 -
如果 Worker 节点使用自定义安全组(非
eks-cluster-sg-命名模式),则集群角色需要额外的 IAM 权限。默认 EKS 托管式策略仅允许 EKS 修改名为eks-cluster-sg-的安全组。如果没有修改自定义安全组的权限,EKS 将无法添加允许 ALB/NLB 流量到达容器组所需的 Ingress 规则。
CoreDNS 注意事项
EKS 自动模式不使用传统的 CoreDNS 部署在集群内提供 DNS 解析。相反,自动模式节点利用 CoreDNS 作为系统服务直接在每个节点上运行。如果将传统集群过渡到自动模式,则可以在工作负载移至自动模式节点后,从集群中移除 CoreDNS 部署。
重要
如果您计划维护同时包含自动模式和非自动模式节点的集群,则必须保留 CoreDNS 部署。非自动模式节点依赖传统的 CoreDNS 容器组(pod)进行 DNS 解析,因为它们无法访问自动模式提供的节点级 DNS 服务。