

 **帮助改进此页面** 

要帮助改进本用户指南，请选择位于每个页面右侧窗格中的**在 GitHub 上编辑此页面**链接。

# 使用节点来管理计算资源
<a name="eks-compute"></a>

Kubernetes 节点是运行容器化应用程序的机器。每个节点包含下列组件：
+  **[容器运行时](https://kubernetes.io/docs/setup/production-environment/container-runtimes/)** – 负责运行容器的软件。
+  ** [kubelet](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/) ** – 确保容器运行状况良好且在关联的容器组（pod）中运行。
+  ** [kube-proxy](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/) ** – 维护允许与容器组（pod）通信的网络规则。

有关更多信息，请参阅 Kubernetes 文档中的[节点](https://kubernetes.io/docs/concepts/architecture/nodes/)。

Amazon EKS 集群可以按照任意 [EKS 自动模式托管节点](automode.md)、[自主管理型节点](worker.md)、[Amazon EKS 托管节点组](managed-node-groups.md)、[Amazon Fargate](fargate.md) 以及 [Amazon EKS 混合节点功能](hybrid-nodes-overview.md)组合调度容器组（pod）。要了解集群中部署的节点的更多信息，请参阅 [在 Amazon Web Services 管理控制台中查看 Kubernetes 资源](view-kubernetes-resources.md)。

**注意**  
除混合节点外，节点必须位于与您创建集群时所选子网相同的 VPC 中。不过，节点不需要在相同子网中。

## 比较计算选项
<a name="_compare_compute_options"></a>

下表提供了在决定哪些选项最符合您的要求时需要评估的几个标准。另一个选项是自主管理型节点，此选项支持所列的所有标准，但需要更多的手动维护。有关更多信息，请参阅 [使用自行管理型节点来自行维护节点](worker.md)。

**注意**  
Bottlerocket 与此表中的一般信息有一些具体的区别。有关更多信息，请参阅 GitHub 上的 Bottlerocket [文档](https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md)。


| 标准 | EKS 托管节点组 | EKS 自动模式 | Amazon EKS 混合节点功能 | 
| --- | --- | --- | --- | 
|  可以部署到 [Amazon Outposts](https://docs.amazonaws.cn/outposts/latest/userguide/what-is-outposts.html)   |  否  |  否  |  否  | 
|  可以部署到 [Amazon 本地区域](local-zones.md)   |  是  |  否  |  否  | 
|  可以运行需要 Windows 的容器  |  是  |  否  |  否  | 
|  可以运行需要 Linux 的容器  |  支持  |  是  |  是  | 
|  可以运行需要 Inferentia 芯片的工作负载  |   [是](inferentia-support.md) – 仅限 Amazon Linux 节点  |  是  |  否  | 
|  可以运行需要 GPU 的工作负载  |   [是](eks-optimized-ami.md#gpu-ami) – 仅限 Amazon Linux 节点  |  支持  |  是  | 
|  可以运行需要 ARM 处理器的工作负载  |   [是](eks-optimized-ami.md#arm-ami)   |  是  |  是  | 
|  可以运行 Amazon [ Bottlerocket](https://www.amazonaws.cn/bottlerocket/)   |  支持  |  是  |  否  | 
|  容器组之间共享 CPU、内存、存储和网络资源。  |  支持  |  是  |  是  | 
|  必须部署和管理 Amazon EC2 实例  |  是  |  否 – 了解 [EC2 托管式实例](automode-learn-instances.md)   |  是 – 本地物理计算机或虚拟机由您使用自己选择的工具进行管理。  | 
|  必须保护、维护和修补 Amazon EC2 实例的操作系统  |  是  |  否  |  是 – 在物理计算机或虚拟机上运行的操作系统由您使用自己选择的工具进行管理。  | 
|  可以在部署节点时提供引导参数，例如额外的 [kubelet](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/) 实际参数。  |  是 – 使用 `eksctl` 或将[启动模板](launch-templates.md)与自定义 AMI 结合使用。  |  否 – [使用 `NodeClass` 配置节点](create-node-class.md)   |  是 – 可以使用 nodeadm 自定义引导参数。请参阅[混合节点 `nodeadm` 参考](hybrid-nodes-nodeadm.md)。  | 
|  可以从与分配给节点的 IP 地址不同的 CIDR 块为容器组（pod）分配 IP 地址。  |  是 – 结合使用启动模板和自定义 AMI。有关更多信息，请参阅 [使用启动模板自定义托管式节点](launch-templates.md)。  |  否  |  是 – 请参阅[为混合节点配置 CNI](hybrid-nodes-cni.md)。  | 
|  可以通过 SSH 访问节点  |  是  |  否 – [了解如何进行节点故障排除](auto-troubleshoot.md)   |  是  | 
|  可以将您自己的自定义 AMI 部署到节点  |  是 – 使用[启动模板](launch-templates.md)   |  否  |  是  | 
|  可以将自己的自定义 CNI 部署到节点  |  是 – 结合使用[启动模板](launch-templates.md)和自定义 AMI  |  否  |  是  | 
|  必须自己更新节点 AMI  |   [是](update-managed-node-group.md) – 如果部署 Amazon EKS 优化版 AMI，更新可用时，Amazon EKS 控制台会通知您。可以在控制台中单击一键执行更新。如果部署自定义 AMI，更新可用时，Amazon EKS 控制台不会通知您。必须自己执行更新。  |  否  |  是 – 在物理计算机或虚拟机上运行的操作系统由您使用自己选择的工具进行管理。请参阅[为混合节点准备操作系统](hybrid-nodes-os.md)。  | 
|  必须自己更新节点 Kubernetes 版本  |   [是](update-managed-node-group.md) – 如果部署 Amazon EKS 优化版 AMI，更新可用时，Amazon EKS 控制台会通知您。可以在控制台中单击一键执行更新。如果部署自定义 AMI，更新可用时，Amazon EKS 控制台不会通知您。必须自己执行更新。  |  否  |  是 – 您可以使用自己选择的工具或使用 `nodeadm` 来管理混合节点升级。请参阅[升级集群的混合节点](hybrid-nodes-upgrade.md)。  | 
|  可以为容器组（pod）使用 Amazon EBS 存储  |   [是](ebs-csi.md)   |  是，作为一项集成功能。了解如何[创建存储类](create-storage-class.md)。  |  否  | 
|  可以为容器组（pod）使用 Amazon EFS 存储  |   [是](efs-csi.md)   |  是  |  否  | 
|  可以为容器组（pod）使用 Amazon S3 Files 存储  |   [是](s3files-csi.md)   |  是  |  否  | 
|  可以为容器组（pod）使用适用于 Lustre 的 Amazon FSx 存储  |   [是](fsx-csi.md)   |  是  |  否  | 
|  可以对服务使用 Network Load Balancer  |   [是](network-load-balancing.md)   |  是  |  是 – 必须使用目标类型 `ip`。  | 
|  Pod 可以在公有子网中运行  |  支持  |  是  |  否 – 容器组在本地环境中运行。  | 
|  可以将不同的 VPC 安全组分配给各个容器组（pod）  |   [是](security-groups-for-pods.md) – 仅限 Linux 节点  |  否  |  否  | 
|  可以运行 Kubernetes DaemonSets  |  支持  |  是  |  是  | 
|  支持容器组（pod）清单中的 `HostPort` 和 `HostNetwork`  |  支持  |  是  |  是  | 
|   Amazon 区域可用性  |   [所有 Amazon EKS 支持的区域](https://docs.amazonaws.cn/general/latest/gr/eks.html)   |   [所有 Amazon EKS 支持的区域](https://docs.amazonaws.cn/general/latest/gr/eks.html)   |   [所有支持 Amazon EKS 的区域](https://docs.amazonaws.cn/general/latest/gr/eks.html)，Amazon GovCloud（美国）区域和中国区域除外。  | 
|  可以在 Amazon EC2 专属主机上运行容器  |  是  |  否  |  否  | 
|  定价  |  运行多个容器组（pod）的 Amazon EC2 实例的成本。有关更多信息，请参阅 [Amazon EC2定价](https://www.amazonaws.cn/ec2/pricing/)。  |  在集群中启用 EKS 自动模式后，除标准的 EC2 实例费用外，您还需要为使用自动模式的计算能力启动的实例单独付费。具体金额因启动的实例类型和集群所在 Amazon 区域而异。有关更多信息，请参阅 [Amazon EKS 定价](https://www.amazonaws.cn/eks/pricing/)。  |  每小时的混合节点 vCPU 成本。有关更多信息，请参阅 [Amazon EKS 定价](https://www.amazonaws.cn/eks/pricing/)。  | 