

 **帮助改进此页面** 

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

# 使用自行管理型节点来自行维护节点
<a name="worker"></a>

一个集群包含一个或多个在其上调度了容器组（pod）的 Amazon EC2 节点。Amazon EKS 节点在 Amazon 账户中运行并通过集群 API 服务器端点连接到集群的控制层面。您需要根据 Amazon EC2 价格收取费用。有关更多信息，请参阅 [Amazon EC2 定价](https://www.amazonaws.cn/ec2/pricing/)。

一个集群可以包含多个节点组。每个节点组都包含在 [Amazon EC2 Auto Scaling 组](https://docs.amazonaws.cn/autoscaling/ec2/userguide/AutoScalingGroup.html)中部署的一个或多个节点。组内节点的实例类型可能会有所不同，例如[将基于属性的实例类型选择](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html)与 [Karpenter](https://karpenter.sh/) 结合使用时。节点组中的所有实例都必须使用 [Amazon EKS 节点 IAM 角色](create-node-role.md)。

Amazon EKS 提供一个专用亚马逊机器映像（AMI），称为 Amazon EKS 优化版 AMI。AMI 配置为与 Amazon EKS 配合使用。其组件包括 `containerd`、`kubelet` 和 Amazon IAM 身份验证器。此 AMI 还包含专用[引导脚本](https://github.com/awslabs/amazon-eks-ami/blob/main/templates/al2/runtime/bootstrap.sh)，从而允许它自动发现并连接到您的集群控制面板。

如果使用 CIDR 块限制对集群的公有端点的访问，建议您还启用私有端点访问。目的是为了让节点可以与集群通信。在未启用私有终端节点的情况下，您指定用于公有访问的 CIDR 块必须包含来自 VPC 的出口源。有关更多信息，请参阅 [集群 API 服务器端点](cluster-endpoint.md)。

要向您的 Amazon EKS 集群添加自行管理的节点，请参阅以下主题。如果手动启动自主管理型节点，则向每个节点添加以下标签，同时确保 `<cluster-name>` 与集群匹配。有关更多信息，请参阅[为单个资源添加和删除标签](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/Using_Tags.html#adding-or-deleting-tags)。如果按照下面指南中的步骤操作，则会将您所需的标签自动添加到节点。


| 键 | 值 | 
| --- | --- | 
|   `kubernetes.io/cluster/<cluster-name>`   |   `owned`   | 

**重要**  
Amazon EC2 实例元数据服务（IMDS）中的标签与 EKS 节点不兼容。启用实例元数据标签后，将禁止在标签值中使用正斜杠（“/”）。不执行此限制可能会导致实例启动失败，尤其是在使用 Karpenter 或 Cluster Autoscaler 等节点管理工具时，因为这些服务能否正常运行取决于标签是否包含正斜杠。

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

**Topics**
+ [创建自行管理的 Amazon Linux 节点](launch-workers.md)
+ [创建自主管理型 Bottlerocket 节点](launch-node-bottlerocket.md)
+ [创建自主管理型 Microsoft Windows 节点](launch-windows-workers.md)
+ [创建自主管理型 Ubuntu Linux 节点](launch-node-ubuntu.md)
+ [更新集群的自行管理型节点](update-workers.md)