

 **帮助改进此页面** 

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

# 在现有 EKS 集群上启用 EKS 自动模式
<a name="migrate-auto"></a>

您可以在现有 EKS 集群上启用 EKS 自动模式。

 **AWS 支持下列迁移：**
+ 从 Karpenter 迁移到 EKS 自动模式节点。有关更多信息，请参阅 [使用 kubectl 从 Karpenter 迁移到 EKS 自动模式](auto-migrate-karpenter.md)。
+ 从 EKS 托管式节点组迁移到 EKS 自动模式节点。有关更多信息，请参阅 [从 EKS 托管式节点组迁移到 EKS 自动模式](auto-migrate-mng.md)。
+ 从 EKS Fargate 迁移到 EKS 自动模式节点。有关更多信息，请参阅 [从 EKS Fargate 迁移到 EKS 自动模式](auto-migrate-fargate.md)。

 **AWS 不支持下列迁移：**
+ 将卷从 EBS CSI 控制器（使用 Amazon EKS 附加组件）迁移到 EKS 自动模式 EBS CIS 控制器（由 EKS 自动模式管理）。由不同配置器创建的 PVC 无法互相挂载，因为它们使用的是两个不同的 Kubernetes 卷预调配程序。
  + [https://github.com/awslabs/eks-auto-mode-ebs-migration-tool](https://github.com/awslabs/eks-auto-mode-ebs-migration-tool)（AWS Labs 项目）支持在标准 EBS CSI StorageClass (`ebs.csi.aws.com`) 与 EKS 自动模式 EBS CSI StorageClass (`ebs.csi.eks.amazonaws.com`) 之间迁移。请注意，迁移需要删除并重新创建现有的 PersistentVolumeClaim/PersistentVolume 资源，因此在进行迁移之前，必须在非生产环境中进行验证。
+ 将负载均衡器从 AWS 负载均衡器控制器迁移到 EKS 自动模式

  您可以在 Amazon EKS 自动模式集群上安装 AWS 负载均衡器控制器。使用 `IngressClass` 或 `loadBalancerClass` 选项将服务和 Ingress 资源关联到 负载均衡器控制器或 EKS 自动模式。
+ 使用备用 CNI 或其他不受支持的网络配置迁移 EKS 集群

## 迁移参考
<a name="migration-reference"></a>

按照以下迁移参考将 Kubernetes 资源配置为由自主管理型控制器或 EKS 自动模式所有。


| 能力 | 资源 | 字段 | 自主管理型 | EKS 自动模式 | 
| --- | --- | --- | --- | --- | 
|  数据块存储  |   `StorageClass`   |   `provisioner`   |   `ebs.csi.aws.com`   |   `ebs.csi.eks.amazonaws.com`   | 
|  负载均衡  |   `Service`   |   `loadBalancerClass`   |   `service.k8s.aws/nlb`   |   `eks.amazonaws.com/nlb`   | 
|  负载均衡  |   `IngressClass`   |   `controller`   |   `ingress.k8s.aws/alb`   |   `eks.amazonaws.com/alb`   | 
|  负载均衡  |   `IngressClassParams`   |   `apiversion`   |   `elbv2.k8s.aws/v1beta1`   |   `eks.amazonaws.com/v1`   | 
|  负载均衡  |   `TargetGroupBinding`   |   `apiversion`   |   `elbv2.k8s.aws/v1beta1`   |   `eks.amazonaws.com/v1`   | 
|  计算  |   `NodeClass`   |   `apiVersion`   |   `karpenter.sh/v1`   |   `eks.amazonaws.com/v1`   | 

## 迁移 EBS 卷
<a name="_migrating_ebs_volumes"></a>

将工作负载迁移到 EKS 自动模式时，由于 CSI 驱动程序预调配程序不同，您需要处理 EBS 卷迁移问题：
+ EKS 自动模式预调配程序：`ebs.csi.eks.amazonaws.com`
+ 开源 EBS CSI 预调配程序：`ebs.csi.aws.com`

请按照以下步骤迁移持久性卷：

1.  **修改卷保留策略**：将现有平台版本（PV）由 `persistentVolumeReclaimPolicy` 更改为 `Retain`，确保底层 EBS 卷不会删除。

1.  **从 Kubernetes 中删除 PV**：删除旧的 PV 资源，但保留实际的 EBS 卷。

1.  **通过静态预置创建新 PV**：创建一个引用相同 EBS 卷但与目标 CSI 驱动程序结合使用的新 PV。

1.  **绑定到新 PVC**：使用 `volumeName` 字段创建一个专门引用 PV 的新 PVC。

### 注意事项
<a name="_considerations"></a>
+ 确保在开始迁移之前应用程序已停止。
+ 在开始迁移过程之前，备份数据。
+ 需要对每个持久性卷执行此过程。
+ 必须更新工作负载才能使用新 PVC。

## 迁移负载均衡器
<a name="_migrating_load_balancers"></a>

不能将现有负载均衡器从自主管理型 AWS 负载均衡器控制器直接转移到 EKS 自动模式。相反，您必须实施蓝绿部署策略。这涉及维护现有的负载均衡器配置，同时在托管式控制器下创建新的负载均衡器。

为了尽可能减少服务中断，我们建议采用基于 DNS 的流量转移方法。首先使用 EKS 自动模式创建新的负载均衡器，同时保持现有配置正常运行。然后使用 DNS 路由（例如 Route 53）将流量从旧负载均衡器逐渐转移到新负载均衡器。成功迁移流量并验证新配置后，您可以停用旧负载均衡器和自主管理型控制器。