

 **帮助改进此页面** 

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

# 创建 kro 功能
<a name="create-kro-capability"></a>

本主题旨在介绍如何在 Amazon EKS 集群上创建 kro 功能。

## 先决条件
<a name="_prerequisites"></a>

创建 kro 功能之前，确保满足以下条件：
+ 运行受支持 Kubernetes 版本的现有 Amazon EKS 集群（标准支持与扩展支持范围内的所有版本均适用）
+ 可在 EKS 集群上创建功能资源的充足 IAM 权限
+ （适用于 CLI/eksctl）已安装并配置相应 CLI 工具

**注意**  
与 ACK 和 Argo CD 不同，kro 除信任策略外，无需额外的 IAM 权限。kro 完全在集群中运行，不会发起 AWS API 调用。不过，您仍需提供一个配置了相应信任策略的 IAM 功能角色。有关配置 Kubernetes RBAC 权限的信息，请参阅[配置 kro 权限](kro-permissions.md)。

## 选择工具
<a name="_choose_your_tool"></a>

您可以使用AWS 管理控制台、AWS CLI 或 eksctl 创建 kro 功能：
+  [使用控制台创建 kro 功能](kro-create-console.md)：使用控制台获得引导式体验
+  [使用 AWS CLI 创建 kro 功能](kro-create-cli.md)：使用 AWS CLI 进行脚本编写和自动化
+  [使用 eksctl 创建 kro 功能](kro-create-eksctl.md)：使用 eksctl 获得 Kubernetes 原生体验

## 在创建 kro 功能时会执行的操作
<a name="_what_happens_when_you_create_a_kro_capability"></a>

在创建 kro 功能时：

1. EKS 会创建 kro 功能服务，并配置该服务来监控和管理集群内的资源

1. 自定义资源定义（CRD）将被安装到集群中

1. 系统会使用 `AmazonEKSKROPolicy` 自动为您的 IAM 功能角色创建一个访问条目，该条目授予管理 ResourceGraphDefinitions 及其实例的权限（请参阅 [EKS 功能的安全注意事项](capabilities-security.md)）

1. 该功能会代入您提供的 IAM 功能角色（此角色仅用于信任关系配置）

1. kro 开始监听 `ResourceGraphDefinition` 资源及其对应的实例

1. 功能状态从 `CREATING` 更改为 `ACTIVE` 

功能进入运行状态后，即可创建 ResourceGraphDefinition，以此定义自定义 API，并创建这些 API 对应的实例。

**注意**  
自动创建的访问条目包括授予 kro 管理 ResourceGraphDefinitions 及其实例的权限的 `AmazonEKSKROPolicy`。要允许 kro 创建 ResourceGraphDefinitions 中定义的底层 Kubernetes 资源（例如部署、服务或 ACK 资源），则必须配置额外的访问条目权限。要了解有关访问条目以及如何配置其他权限的更多信息，请参阅 [配置 kro 权限](kro-permissions.md) 和 [EKS 功能的安全注意事项](capabilities-security.md)。

## 后续步骤
<a name="_next_steps"></a>

创建 kro 功能后：
+  [kro 概念](kro-concepts.md)：了解 kro 的基本概念及资源组合编排
+  [kro 概念](kro-concepts.md)：了解 SimpleSchema、CEL 表达式及资源组合编排模式