

 **帮助改进此页面** 

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

# 使用控制台创建 kro 功能
<a name="kro-create-console"></a>

本主题旨在介绍如何使用 Amazon Web Services 管理控制台 创建 kro（Kube Resource Orchestrator）功能。

## 创建 kro 功能
<a name="_create_the_kro_capability"></a>

1. 从以下位置打开 Amazon EKS 控制台：https://console.aws.amazon.com/eks/home\$1/clusters。

1. 选择集群名称，打开集群详细信息页面。

1. 选择**功能**选项卡。

1. 在左侧导航栏中，选择 **kro（Kube Resource Orchestrator）**。

1. 选择**创建 kro 功能**。

1. 对于 **IAM 功能角色**：
   + 如果已有 IAM 功能角色，请从下拉列表中选择该角色
   + 如需创建角色，请选择**创建 kro 角色** 

     此操作会在新选项卡中打开 IAM 控制台，其中包含预填充的信任策略。该角色无需配置额外的 IAM 权限，因为 kro 的所有操作均在集群内部完成。

     创建角色后，返回 EKS 控制台，系统将自动选择该角色。
**注意**  
与 ACK 和 Argo CD 不同，kro 除信任策略外，无需额外的 IAM 权限。kro 完全在集群中运行，不会发起 Amazon API 调用。

1. 选择**创建**。

功能创建过程随即开始。

## 验证功能是否处于活动状态
<a name="_verify_the_capability_is_active"></a>

1. 在**功能**选项卡上，查看 kro 功能状态。

1. 等待状态从 `CREATING` 更改为 `ACTIVE`。

1. 变为活动状态后，该功能即可使用。

有关功能状态和问题排查的信息，请参阅[使用功能资源](working-with-capabilities.md)。

## 授予 Kubernetes 资源管理权限
<a name="_grant_permissions_to_manage_kubernetes_resources"></a>

当您创建 kro 功能时，系统会使用 `AmazonEKSKROPolicy` 自动创建 EKS 访问条目，该条目允许 kro 管理 ResourceGraphDefinitions 及其实例。但是，默认情况下，不授予任何权限来创建 ResourceGraphDefinitions 中定义的底层 Kubernetes 资源（如部署、服务、ConfigMaps 等）。

这种有意的设计遵循了最低权限原则，即不同的 ResourceGraphDefinitions 需要不同的权限。您必须根据您的 ResourceGraphDefinitions 将管理的资源明确配置 kro 所需的权限。

对于快速入门、测试或开发环境，请使用 `AmazonEKSClusterAdminPolicy`：

1. 在 EKS 控制台中，导航到 EKS 集群的**访问**选项卡。

1. 在**访问条目**下，找到对应 kro 功能角色的条目（将包含之前创建的角色 ARN）。

1. 选择访问条目，打开对应的详细信息页面。

1. 在**访问策略**部分，选择**关联访问策略**。

1. 从策略列表中选择 `AmazonEKSClusterAdminPolicy`。

1. 在**访问范围**中，选择**集群**。

1. 选择**关联 **。

**重要**  
`AmazonEKSClusterAdminPolicy` 会授予宽泛的权限，以创建和管理所有的 Kubernetes 资源，包括能够在所有命名空间中创建任何类型的资源的权限。这便于开发和 POC，但不应在生产环境中使用。在生产环境使用时，请创建自定义 RBAC 策略，仅授予 ResourceGraphDefinition 需管理的特定资源对应的权限。有关配置最低权限的指引，请参阅[配置 kro 权限](kro-permissions.md)和 [EKS 功能的安全注意事项](capabilities-security.md)。

## 验证自定义资源是否可用
<a name="_verify_custom_resources_are_available"></a>

待该功能处于激活状态后，验证 kro 自定义资源是否已在集群中正常可用。

 **使用控制台** 

1. 在 Amazon EKS 控制台中导航至集群

1. 选择**资源**选项卡

1. 选择**扩展** 

1. 选择 **CustomResourceDefinitions** 

您应能看到 `ResourceGraphDefinition` 这一资源类型已被列出。

 **使用 kubectl** 

```
kubectl api-resources | grep kro.run
```

您应能看到 `ResourceGraphDefinition` 这一资源类型已被列出。

## 后续步骤
<a name="_next_steps"></a>
+  [kro 概念](kro-concepts.md)：了解 kro 的基本概念及资源组合编排
+  [kro 概念](kro-concepts.md)：了解 SimpleSchema、CEL 表达式和组合编排模式
+  [使用功能资源](working-with-capabilities.md)：管理 kro 功能资源