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

Amazon EKS 节点

Kubernetes 节点是运行容器化应用程序的机器。每个节点包含下列组件:

  • 容器运行时:负责运行容器的软件。

  • kubelet – 确保该容器的运行状况良好且在其关联的 Pod 中运行。

  • kube-proxy – 维护允许与您的 Pods 通信的网络规则。

有关更多信息,请参阅 Kubernetes 文档中的节点

您的 Amazon EKS 集群可以在自行管理的节点Amazon EKS 托管节点组Amazon Fargate 的任意组合中调度 Pods。要了解集群中部署的节点的更多信息,请参阅 查看 Kubernetes 资源

注意

节点必须位于与您创建集群时选择的子网相同 VPC 中。不过,节点不需要在相同子网中。

下表提供了在决定哪些选项最符合您的要求时需要评估的几个标准。此表不包括在 Amazon EKS 之外创建的已连接节点,这些节点只能够查看。

注意

Bottlerocket 与此表中的一般信息有一些具体的区别。有关更多信息,请参阅 GitHub 上的 Bottlerocket 文档

标准 EKS 托管节点组 自行管理的节点 Amazon Fargate

可以部署到 Amazon Outposts

可以部署到 Amazon 本地区域

是 – 有关更多信息,请参阅 Amazon EKS 和 Amazon 本地区域

可以运行需要 Windows 的容器

– 尽管如此,您的集群仍然需要至少一个 Linux 节点(建议两个,以确保可用)。

可以运行需要 Linux 的容器

可以运行需要 Inferentia 芯片的工作负载

– 仅限 Amazon Linux 节点

– 仅限 Amazon Linux

可以运行需要 GPU 的工作负载

– 仅限 Amazon Linux 节点

– 仅限 Amazon Linux

可以运行需要 ARM 处理器的工作负载

可以运行 Amazon Bottlerocket

Pods 之间共享内核运行时间环境

是 – 每个节点上的所有 Pods

是 – 每个节点上的所有 Pods

否 – 每个 Pod 拥有专用的内核

Pods 之间共享 CPU、内存、存储和网络资源。

是 – 可能导致每个节点上存在未使用的资源

是 – 可能导致每个节点上存在未使用的资源

否 – 每个 Pod 都有专用资源,并且可以独立调整大小以最大限度地提高资源利用率。

容器组(pod)可以使用多于 Pod 规范中所请求的硬件和内存

是 – 如果 Pod 需要的资源多于请求的资源,并且节点上有可用的资源,那么该 Pod 可以使用额外的资源。

是 – 如果 Pod 需要的资源多于请求的资源,并且节点上有可用的资源,那么该 Pod 可以使用额外的资源。

否 – 但是,可以使用更大的 vCPU 和内存配置重新部署 Pod。

必须部署和管理 Amazon EC2 实例

– 如果您部署了 Amazon EKS 优化版 AMI,则可通过 Amazon EKS 自动执行。如果您部署了自定义 AMI,则必须手动更新实例。

是 – 手动配置或使用 Amazon EKS 提供的 Amazon CloudFormation 模板来部署 Linux (x86)Linux (Arm) Windows 节点。

必须保护、维护和修补 Amazon EC2 实例的操作系统

在部署节点时提供引导参数,例如额外的 kubelet 参数。

是 – 搭配使用 eksctl启动模板与自定义 AMI

是 – 有关更多信息,请查看 GitHub 上的引导脚本使用信息

可以从与分配给节点的 IP 地址不同的 CIDR 块为 Pods 分配 IP 地址。 是 – 结合使用启动模板和自定义 AMI。有关更多信息,请参阅使用启动模板自定义托管节点 是 – 有关更多信息,请参阅 容器组(pod)的自定义网络

可以通过 SSH 访问节点

否 – 没有主机操作系统要通过 SSH 访问的节点。

可以将您自己的自定义 AMI 部署到节点

是 – 使用启动模板

可以将自己的自定义 CNI 部署到节点

是 – 结合使用启动模板和自定义 AMI

必须自己更新节点 AMI

– 如果部署 Amazon EKS 优化版 AMI,更新可用时,Amazon EKS 控制台会通知您。可以在控制台中单击一键执行更新。如果部署自定义 AMI,更新可用时,Amazon EKS 控制台不会通知您。必须自己执行更新。

- 使用 Amazon EKS 控制台以外的其他工具。这是因为无法使用 Amazon EKS 控制台管理自行管理的节点。

必须自己更新节点 Kubernetes 版本

– 如果部署 Amazon EKS 优化版 AMI,更新可用时,Amazon EKS 控制台会通知您。可以在控制台中单击一键执行更新。如果部署自定义 AMI,更新可用时,Amazon EKS 控制台不会通知您。必须自己执行更新。

- 使用 Amazon EKS 控制台以外的其他工具。这是因为无法使用 Amazon EKS 控制台管理自行管理的节点。

否 – 您不管理节点。

可以为 Pods 使用 Amazon EBS 存储

可以为 Pods 使用 Amazon EFS 存储

可以为 Pods 使用 Amazon FSx for Lustre 存储

可以对服务使用 Network Load Balancer

是的,当使用 创建网络负载均衡器

Pod 可以在公有子网中运行

可以将不同的 VPC 安全组分配给各个 Pods

– 仅限 Linux 节点

– 仅限 Linux 节点

可以运行 Kubernetes DaemonSets

在 Pod 清单中支持 HostPortHostNetwork

Amazon Web Services 区域 可用性

所有 Amazon EKS 支持的区域

所有 Amazon EKS 支持的区域

部分 Amazon EKS 支持的区域

可以在 Amazon EC2 专属主机上运行容器

定价

运行多个 Pods 的 Amazon EC2 实例的成本。有关更多信息,请参阅 Amazon EC2定价

运行多个 Pods 的 Amazon EC2 实例的成本。有关更多信息,请参阅 Amazon EC2定价

单个 Fargate 内存和 CPU 配置的成本。每个 Pod 都有自己的成本。有关更多信息,请参阅 Amazon Fargate 定价