

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon EKS 集群中安装 Helm 图表
<a name="using-helm-charts-eks"></a>

在 Amazon ECR 中托管的 Helm Chart 可以安装在您的 Amazon EKS 集群上。

**先决条件**
+ 安装最新版本的 Helm 客户端。这些步骤是使用 Helm 版本 `3.9.0` 编写的。有关更多信息，请参阅[安装 Helm](https://helm.sh/docs/intro/install/)。
+ 您至少已在计算机上安装了 Amazon CLI 的版本 `1.23.9` 或 `2.6.3`。有关更多信息，请参阅[安装或更新 Amazon CLI的最新版本](https://docs.amazonaws.cn/cli/latest/userguide/getting-started-install.html)。
+ 您已将 Helm Chart 推送到您的 Amazon ECR 存储库。有关更多信息，请参阅 [将 Helm 图表推送到 Amazon ECR 私有存储库](push-oci-artifact.md)。
+ 您已配置 `kubectl` 以使用 Amazon EKS。有关更多信息，请参阅 **Amazon EKS 用户指南**中的[为 Amazon EKS 创建 `kubeconfig`](https://docs.amazonaws.cn/eks/latest/userguide/create-kubeconfig.html)。如果集群的以下命令成功，说明您已正确配置。

  ```
  kubectl get svc
  ```

**要在 Amazon EKS 集群中安装 Helm 图表**

1. 向托管 Helm Chart 的 Amazon ECR 注册表验证您的 Helm 客户端。必须针对每个注册表获得授权令牌，令牌有效期为 12 小时。有关更多信息，请参阅 [Amazon ECR 中的私有注册表身份验证](registry_auth.md)。

   ```
   aws ecr get-login-password \
        --region {{us-west-2}} | helm registry login \
        --username AWS \
        --password-stdin {{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com
   ```

1. 安装图表。{{helm-test-chart}}用你的存储库和 {{0.1.0}} Helm 图表的标签替换。

   ```
   helm install ecr-chart-demo oci://{{aws_account_id}}.dkr.ecr.{{region}}.amazonaws.com/{{helm-test-chart}} --version {{0.1.0}}
   ```

   输出应如下所示：

   ```
   NAME: ecr-chart-demo
   LAST DEPLOYED: Tue May 31 17:38:56 2022
   NAMESPACE: default
   STATUS: deployed
   REVISION: 1
   TEST SUITE: None
   ```

1. 验证图表安装。

   ```
   helm list -n default
   ```

   输出示例：

   ```
   NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
   ecr-chart-demo  default         1               2022-06-01 15:56:40.128669157 +0000 UTC deployed        helm-test-chart-0.1.0   1.16.0
   ```

1. （可选）查看已安装的 Helm 图表 `ConfigMap`。

   ```
   kubectl describe configmap {{helm-test-chart-configmap}}
   ```

1. 完成后，您可以从集群中删除图表版本。

   ```
   helm uninstall {{ecr-chart-demo}}
   ```