

 **帮助改进此页面** 

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

# EKS 托管型 kro 与自主管理型 kro 的对比
<a name="kro-comparison"></a>

EKS 托管型 kro 具备与自主管理型 kro 完全相同的功能，同时还拥有显著的运维优势。有关 EKS 功能与自主管理型解决方案的总体比较，请参阅 [EKS 功能和注意事项](capabilities-considerations.md)。

EKS 托管型 kro 基于上游 kro 控制器构建，且与上游 kro 完全兼容。ResourceGraphDefinition、CEL 表达式以及资源组合编排的工作方式均保持一致。如需查看 kro 的完整文档与示例，请参阅 [kro 文档](https://kro.run/docs/overview)。

## 迁移路径
<a name="_migration_path"></a>

您可以从自主管理型 kro 无缝迁移到托管型 kro，实现零停机时间。

**重要**  
迁移前，请确保自主管理型 kro 控制器与 EKS 托管型 kro 运行的是同一版本。通过 EKS 控制台或 `aws eks describe-capability` 查看托管型 kro 的版本，随后将自主管理型 kro 安装版本升级到与之匹配。此举可避免迁移过程中出现兼容性问题。

1. 更新自主管理型 kro 控制器，将其主节点选举租约配置在 `kube-system` 命名空间中：

   ```
   helm upgrade --install kro \
     oci://ghcr.io/awslabs/kro/kro-chart \
     --namespace kro \
     --set leaderElection.namespace=kube-system
   ```

   这会将控制器的租约移至 `kube-system`，从而允许托管功能与其协调。

1. 在集群中创建 kro 托管功能（详见[创建 kro 功能](create-kro-capability.md)文档）

1. 托管功能会自动识别现有的 ResourceGraphDefinition 及其实例，并接管资源调和工作

1. 逐步缩减或移除自主管理型 kro 的部署资源：

   ```
   helm uninstall kro --namespace kro
   ```

此方法允许两个控制器在迁移期间安全共存。托管功能会自动接管此前由自主管理型 kro 管理的 ResourceGraphDefinition 及其实例，保障资源调和流程持续进行且无冲突。

## 后续步骤
<a name="_next_steps"></a>
+  [创建 kro 功能](create-kro-capability.md)：创建 kro 托管功能资源
+  [kro 概念](kro-concepts.md)：了解 kro 的基本概念及资源组合编排