

 **帮助改进此页面** 

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

# 使用功能资源
<a name="working-with-capabilities"></a>

本主题介绍管理所有功能类型的功能资源的常见操作。

## EKS 功能资源
<a name="_eks_capability_resources"></a>

EKS 功能是在 Amazon EKS 集群上启用托管功能的 Amazon 资源。各项功能在 EKS 中运行，无需在 Worker 节点上安装和维护控制器和其他操作组件。这些功能是为特定的 EKS 集群创建，并且在整个生命周期内都与该集群保持关联。

每种能力资源都有：
+ 集群中的唯一名称
+ 功能类型（ACK、ARGOCD 或 KRO）
+ Amazon 资源名称（ARN），同时指定名称和类型
+ 功能 IAM 角色
+ 表示当前状态的状态
+ 配置，包括通用配置和特定于功能类型的配置

## 了解功能状态
<a name="_understanding_capability_status"></a>

功能资源的状态表示其当前状态。您可以在 EKS 控制台或使用 Amazon CLI 查看功能状态和运行状况。

 **控制台**：

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

1. 选择集群名称。

1. 选择**功能**选项卡，查看所有功能的状态。

1. 有关详细的运行状况信息，请选择**可观测性**选项卡，然后依次选择**监控集群**、**功能**选项卡。

 ** AmazonCLI**：

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-capability-name
```

### 功能状态
<a name="_capability_statuses"></a>

 **CREATING**：正在设置功能。您可以离开控制台，功能将继续在后台创建。

 **ACTIVE**：功能正在运行中并可供使用。如果资源未按预期运行，请检查资源状态和 IAM 权限。请参阅 [EKS 功能问题排查](capabilities-troubleshooting.md) 查看相关指南。

 **UPDATING**：正在应用配置更改。等待状态恢复为 `ACTIVE`。

 **删除**：正在从集群中删除功能。

 **CREATE\$1FAILED**：设置时遇到了错误。常见原因包括：
+ IAM 角色信任策略不正确或缺失
+ IAM 角色不存在或无法访问
+ 集群访问权限问题
+ 无效的配置参数

有关具体错误的详细信息，请查看功能运行状况部分。

 **UPDATE\$1FAILED**：配置更新失败。有关详细信息，请查看功能运行状况部分并验证 IAM 权限。

**提示**  
有关详细的问题排查指导，请参阅：  
 [EKS 功能问题排查](capabilities-troubleshooting.md)：一般功能问题排查
 [排查 ACK 功能问题](ack-troubleshooting.md)：ACK 特有的问题
 [排查 Argo CD 功能的问题](argocd-troubleshooting.md)：Argo CD 特有的问题
 [排查 kro 功能问题](kro-troubleshooting.md)：kro 特有的问题

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

要在集群上创建功能，请参阅以下主题：
+  [创建 ACK 功能](create-ack-capability.md)：创建 ACK 功能以使用 Kubernetes API 管理 Amazon 资源
+  [创建 Argo CD 功能](create-argocd-capability.md)：创建用于 GitOps 持续交付的 Argo CD 功能
+  [创建 kro 功能](create-kro-capability.md)：创建用于资源组合与编排的 kro 功能

## 列出功能
<a name="_list_capabilities"></a>

您可以列出集群上的所有功能资源。

### 控制台
<a name="_console"></a>

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

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

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

1. 在**托管功能**下查看功能资源。

### Amazon CLI
<a name="shared_aws_cli"></a>

使用 `list-capabilities` 命令查看集群上的所有功能。将 *region-code* 替换为您的集群所在的 Amazon 区域，并将 *my-cluster* 替换为您的集群的名称。

```
aws eks list-capabilities \
  --region region-code \
  --cluster-name my-cluster
```

```
{
    "capabilities": [
        {
            "capabilityName": "my-ack",
            "arn": "arn:aws:eks:us-west-2:111122223333:capability/my-cluster/ack/my-ack/abc123",
            "type": "ACK",
            "status": "ACTIVE",
            "createdAt": "2025-11-02T10:30:00.000000-07:00",
            "modifiedAt": "2025-11-02T10:32:15.000000-07:00",
        },
        {
            "capabilityName": "my-kro",
            "arn": "arn:aws:eks:us-west-2:111122223333:capability/my-cluster/kro/my-kro/abc123",
            "type": "KRO",
            "status": "ACTIVE",
            "version": "v0.6.3",
            "createdAt": "2025-11-02T10:30:00.000000-07:00",
            "modifiedAt": "2025-11-02T10:32:15.000000-07:00",
        },
        {
            "capabilityName": "my-argocd",
            "arn": "arn:aws:eks:us-west-2:111122223333:capability/my-cluster/argocd/my-argocd/abc123",
            "type": "ARGOCD",
            "status": "ACTIVE",
            "version": "3.1.8-eks-1",
            "createdAt": "2025-11-21T08:22:28.486000-05:00",
            "modifiedAt": "2025-11-21T08:22:28.486000-05:00"
        }
    ]
}
```

## 描述功能
<a name="_describe_a_capability"></a>

获取有关特定功能的详细信息，包括其配置和状态。

### 控制台
<a name="_console_2"></a>

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

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

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

1. 从**托管功能**中选择要查看的功能。

1. 查看功能详细信息，包括状态、配置和创建时间。

### Amazon CLI
<a name="shared_aws_cli"></a>

使用 `describe-capability` 命令查看详细信息。将 *region-code* 替换为集群所在的 Amazon 区域，将 *my-cluster* 替换为集群的名称，将 *capability-name* 替换为功能名称（ack、argocd 或 kro）。

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name capability-name
```

 **输出示例：**

```
{
  "capability": {
    "capabilityName": "my-ack",
    "capabilityArn": "arn:aws:eks:us-west-2:111122223333:capability/my-cluster/ack/my-ack/abc123",
    "clusterName": "my-cluster",
    "type": "ACK",
    "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSCapabilityACKRole",
    "status": "ACTIVE",
    "configuration": {},
    "tags": {},
    "health": {
      "issues": []
    },
    "createdAt": "2025-11-19T17:11:30.242000-05:00",
    "modifiedAt": "2025-11-19T17:11:30.242000-05:00",
    "deletePropagationPolicy": "RETAIN"
  }
}
```

## 更新功能的配置
<a name="_update_the_configuration_of_a_capability"></a>

创建后，您可以更新功能配置的某些方面。具体的配置选项因功能类型而异。

**注意**  
EKS 功能资源为完全托管，包括修补和版本更新。更新某项功能将更新资源配置，并且不会导致托管功能组件的版本更新。

### Amazon CLI
<a name="shared_aws_cli"></a>

使用 `update-capability` 命令修改功能：

```
aws eks update-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name capability-name \
  --role-arn arn:aws:iam::[.replaceable]111122223333:role/NewCapabilityRole
```

**注意**  
并非所有功能属性在创建后都可以更新。有关可以修改的内容的详细信息，请参阅特定于功能的文档。

## 删除功能
<a name="_delete_a_capability"></a>

如果不再需要集群上的某项功能，可以删除该功能资源。

**重要**  
 **在删除功能之前，请先删除集群资源。**  
删除功能资源不会自动删除通过该功能创建的资源：  
所有 Kubernetes 自定义资源定义（CRD）仍安装在您的集群中。
ACK 资源保留在您的集群中，相应的 Amazon 资源则保留在您的账户中
Argo CD 应用程序及其 Kubernetes 资源保留在您的集群中
kro ResourceGraphDefinitions 和实例保留在您的集群中
在删除功能之前，应删除这些资源，以避免存在孤立的资源。  
您可以选择保留与 ACK Kubernetes 资源关联的 Amazon 资源。请参阅 [ACK 注意事项](ack-considerations.md) 

### 控制台
<a name="_console_3"></a>

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

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

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

1. 从**托管功能**列表中选择要删除的功能。

1. 选择**删除功能**。

1. 在确认对话框中，输入功能名称以确认删除。

1. 选择**删除**。

### Amazon CLI
<a name="shared_aws_cli"></a>

使用 `delete-capability` 命令删除功能资源：

将 *region-code* 替换为集群所在的 Amazon 区域，将 *my-cluster* 替换为集群的名称，并将 *capability-name* 替换为要删除的功能名称。

```
aws eks delete-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name capability-name
```

## 后续步骤
<a name="_next_steps"></a>
+  [功能 Kubernetes 资源](capability-kubernetes-resources.md)：了解每种功能类型提供的 Kubernetes 资源
+  [ACK 概念](ack-concepts.md)：了解 ACK 概念和资源生命周期
+  [使用 Argo CD](working-with-argocd.md)：在 GitOps 工作流程中使用 Argo CD 功能
+  [kro 概念](kro-concepts.md)：了解 kro 的基本概念及资源组合编排