Amazon EKS 混合节点功能概述 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

想为本用户指南做出贡献? 选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

Amazon EKS 混合节点功能概述

借助 Amazon EKS 混合节点功能,您可以将本地和边缘基础设施用作 Amazon EKS 集群中的节点。Amazon 负责管理由 Amazon 托管的 Amazon EKS 集群的 Kubernetes 控制面板,而您负责管理在本地或边缘环境中运行的混合节点。这样就实现了跨环境的统一 Kubernetes 管理,将本地和边缘应用程序的 Kubernetes 控制面板管理工作转移到 Amazon。

Amazon EKS 混合节点功能可支持任何本地硬件或虚拟机,从而在任何需要运行应用程序的位置享受到 Amazon EKS 的效率、可扩展性和可用性。您可以将各种 Amazon EKS 功能与 Amazon EKS 混合节点功能结合使用,包括 Amazon EKS 附加组件、Amazon EKS Pod 身份、集群访问条目、集群见解和扩展 Kubernetes 版本支持等。Amazon EKS 混合节点功能原生集成了多项 Amazon Web Services 服务,包括 Amazon Systems Manager、Amazon IAM Roles Anywhere、Amazon Managed Service for Prometheus、Amazon CloudWatch 和 Amazon GuardDuty 等,从而满足集中监控、日志记录和身份管理的需要。

使用 Amazon EKS 混合节点功能时,无预付承诺或最低费用要求,并且在将混合节点挂载到 Amazon EKS 集群时,您只需按小时为混合节点的 vCPU 资源付费。有关详细定价信息,请参阅 Amazon EKS 定价

有关适用于本地部署和边缘部署的其他 Amazon EKS 选项的概述,请参阅跨云端和本地环境部署 Amazon EKS 集群

Amazon EKS 混合节点功能的一般概念

  • 要使用 Amazon EKS 混合节点功能,必须在您的本地环境和 Amazon 之间建立可靠的连接。Amazon EKS 混合节点功能不适合连接断开、中断、间歇性或受限(DDIL)的环境。如果在 DDIL 环境中运行,可以考虑使用 Amazon EKS Anywhere

  • 不支持在云基础设施(包括 Amazon Web Services 区域、Amazon Local Zones、Amazon Outposts 或其他云)中运行 Amazon EKS 混合节点功能。在 Amazon Web Services 区域中运行时,应使用 Amazon EKS 自动模式、Karpenter、Amazon EC2 托管式节点组、自主管理型节点或 Amazon Fargate。在 Amazon Local Zones 上运行时,应使用 Amazon EC2 托管式节点组或 Amazon EC2 自主管理型节点。只有 Amazon EC2 自主管理型节点可以在 Amazon Outposts 或 Amazon Wavelength Zones 上使用。

  • 单个 Amazon EKS 集群可用于运行混合节点以及 Amazon Web Services 区域、Amazon Local Zones 或 Amazon Outposts 中的节点。

  • 除 Amazon GovCloud(美国)区域和 Amazon 中国区域外,Amazon EKS 混合节点功能已在所有 Amazon Web Services 区域开放。

  • 如果您在 Amazon EC2 实例上运行混合节点,则需要支付混合节点功能使用费。

  • 混合节点功能使用费从节点加入 Amazon EKS 集群时起开始计费,并在从集群中移除节点时停止计费。如果您不使用混合节点,请务必将其从 Amazon EKS 集群中移除。

基础设施管理

  • Amazon EKS 混合节点功能采用自带基础设施的方法,即您负责预置和管理用于混合节点的物理计算机或虚拟机以及操作系统。

  • Amazon EKS 混合节点功能与运行节点的基础设施无关。您可以在物理计算机或虚拟机以及 x86 和 ARM 架构上运行混合节点。

为混合节点准备操作系统

  • Amazon Linux 2023(AL2023):您可以使用 Amazon Linux 2023(AL2023)来作为混合节点的节点操作系统,但只能在 VMware、KVM 和 Hyper-V 等虚拟化环境中使用。Amazon 支持将混合节点与 AL2023 集成,但是在 Amazon EC2 之外运行 AL2023 时,相关节点将不属于 Amazon Support 计划的适用范围。

  • Ubuntu:您可以使用 Ubuntu 20.04、Ubuntu 22.04 和 Ubuntu 24.04 作为混合节点的节点操作系统。

  • Red Hat Enterprise Linux(RHEL):您可以使用 RHEL 8 和 RHEL 9 来作为混合节点的节点操作系统。

Kubernetes 和平台版本

联网

  • Amazon EKS 控制面板和混合节点之间的通信通过您在集群创建期间传递的 VPC 和子网进行路由,此方法以 Amazon EKS 中控制面板到节点联网的现有机制为基础。

  • 使用 Amazon EKS 混合节点功能时,您可以灵活选择将本地网络连接到 Amazon 中的 VPC 的首选方法。有多个有文档记录的选项可供选择,包括 Amazon Site-to-Site VPN 和 Amazon Direct Connect,您可以根据自己的应用场景选择最适合的选项。

  • IP 地址系列:混合节点只能与配置了 IPv4 IP 地址系列的 Amazon EKS 集群结合使用。您不能使用配置了 IPv6 IP 地址系列的 Amazon EKS 集群。同样,您的本地节点和 Pod CIDR 必须为 IPv4 RFC1918 CIDR 块。

  • 您必须在本地环境和防火墙中为 Amazon EKS 混合节点功能启用所需的域、协议和端口。有关更多信息(包括最低联网要求),请参阅准备混合节点的联网

  • 集群端点访问权限:您可以使用“公有”或“私有”集群端点访问权限,但不应使用“公有和私有”集群端点访问权限,因为对于来自本地环境的查询,端点 DNS 解析将始终解析为公有地址。

  • 有关混合节点与 Amazon Web Services 区域 之间网络连接断开等场景的信息和最佳实践,请参阅《Amazon EKS 最佳实践指南》的 hybrid nodes 部分

  • 应用程序负载均衡:Kubernetes 有一个服务对象,用于定义应用程序的名称和域名,并对其进行解析和负载均衡。默认情况下,type:LoadBalancer 类型的服务还会为来自集群外部的流量创建一个 Amazon 经典负载均衡器。您可以使用附加组件来更改此行为。具体而言,我们建议使用 Amazon 应用程序负载均衡器和 Amazon 网络负载均衡器(均由 Amazon 负载均衡器控制器创建),而不要使用 Amazon 经典负载均衡器。有关在混合环境中安装 Amazon 负载均衡器控制器的步骤,请参阅 Amazon Load Balancer Controller

混合节点的安全性

  • Amazon EKS 混合节点功能使用临时 IAM 凭证来对 Amazon EKS 集群进行身份验证。您可以使用 Amazon IAM Roles Anywhere 或 Amazon Systems Manager(SSM)混合激活为混合节点预置本地 IAM 凭证。如果您没有具有证书颁发机构(CA)的现有公钥基础设施(PKI)和本地环境的证书,则建议使用 Amazon SSM 混合激活。如果您在确实具有现有的 PKI 和本地证书,请使用 Amazon IAM Roles Anywhere。

  • 您可以为启用混合节点功能的 Amazon EKS 集群使用 APIAPI_AND_CONFIG_MAP 集群身份验证模式。将名为 HYBRID_LINUX 的集群访问入口类型与混合节点 IAM 角色结合使用,从而使混合节点能够加入 Amazon EKS 集群。

  • 启用混合节点功能的 Amazon EKS 集群支持 OIDC 身份验证。

  • 您可以将 Amazon EKS Pod 身份和服务账户的 IAM 角色(IRSA)与在混合节点上运行的应用程序配合使用,从而为使用其他 Amazon Web Services 服务 在混合节点上运行的 Pods 实现精细访问控制。

  • 您可以将 Amazon GuardDuty EKS 防护与启用混合节点功能的 Amazon EKS 集群配合使用,从而分析访问集群的用户和应用程序的活动。

混合节点的附加组件

有关详细信息,请参阅 为混合节点配置附加组件

  • 容器网络接口(CNI):Amazon VPC CNI 不能用于混合节点。支持 Cilium 和 Calico 的核心功能以用于混合节点。您可以使用自己选择的工具(例如 Helm)来管理您的 CNI。有关更多信息,请参阅 为混合节点配置 CNI

  • kube-proxy 和 CoreDNS: kube-proxy 和 CoreDNS 会在混合节点加入 Amazon EKS 集群时自动安装。这些附加组件可以在集群创建后作为 Amazon EKS 附加组件进行管理。

  • Ingress 和负载均衡:对于通过 Amazon Direct Connect 或 Amazon Site-to-Site VPN 连接的混合节点上的工作负载,您可以将 Amazon 负载均衡器控制器和应用程序负载均衡器(ALB)或网络负载均衡器(NLB)与目标类型 ip 结合使用。您也可以使用自己选择的 Ingress 控制器或负载均衡器来处理本地环境中的应用程序流量。

  • 指标:您可以使用 Amazon Managed Prometheus(AMP)无代理抓取程序、Amazon Distro for Open Telemetry(ADOT)以及 Amazon CloudWatch 可观测性代理与混合节点结合使用。要将 AMP 无代理抓取程序用于混合节点的 Pod 指标,您的 Pods 必须可以从 Amazon EKS 集群所用 VPC 进行访问。

  • 日志:您可以为启用混合节点功能的集群启用 Amazon EKS 控制面板日志记录。您可以将 ADOT EKS 附加组件和 Amazon CloudWatch 可观测性代理 EKS 附加组件用于混合节点和 Pod 日志记录。

用户界面

  • 节点管理:Amazon EKS 混合节点功能 CLI 称为 nodeadm 并在每台本地主机上运行,从而简化混合节点组件的安装、配置、注册和卸载。混合节点 nodeadm 版本与 AL2023 Amazon EKS 优化型 AMI 中使用的 nodeadm 版本不同。对于在 Amazon EC2 中运行的节点,不应使用混合节点 nodeadm 版本。

  • 集群管理:用于集群管理的 Amazon EKS 用户界面与启用混合节点功能的 Amazon EKS 集群相同。这包括 Amazon Web Services Management Console、Amazon API、Amazon SDK、Amazon CLI、eksctl CLI、Amazon CloudFormation 和 Terraform。