安装适用于 Amazon EKS 的 ASCP - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

安装适用于 Amazon EKS 的 ASCP

此部分介绍如何为 Amazon EKS 安装 Amazon 密钥和配置提供程序和配置提供程序。使用 ASCP,您可以将 Secrets Manager 中的密钥和来自的参数 Amazon Systems Manager 作为文件挂载到 Amazon EKS Pods 中。

先决条件

  • Amazon EKS 集群

    • 容器组身份版本 1.24 或更高版本

    • IRSA 版本 1.17 或更高版本

  • 已 Amazon CLI 安装并配置的

  • 已为 Amazon EKS 集群安装并配置 kubectl

  • Helm(版本 3.0 或更高版本)

安装和配置 ASCP

ASCP 可在 secrets-store-csi-provider-aws 存储 GitHub 库中找到。回购还包含用于创建和装载密钥的 YAML 文件示例。

安装过程中,您可以将 ASCP 配置为使用 FIPS 端点。有关 终端节点的列表,请参阅Amazon Secrets Manager 端点

使用 Helm 安装 ASCP
  1. 为确保存储库指向最新图表,请使用 helm repo update.

  2. 添加 Secrets Store CSI Driver 图表。

    helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts
  3. 安装图表。要配置节流,请添加以下标志:--set-json 'k8sThrottlingParams={"qps": "number of queries per second", "burst": "number of queries per second"}'

    helm install -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver
  4. 添加 ASCP 图表。

    helm repo add aws-secrets-manager https://aws.github.io/secrets-store-csi-driver-provider-aws
  5. 安装图表。要使用 FIPS 端点,请添加以下标志:--set useFipsEndpoint=true

    helm install -n kube-system secrets-provider-aws aws-secrets-manager/secrets-store-csi-driver-provider-aws
在存储库中使用 YAML 进行安装
  • 使用以下命令。

    helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts helm install -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/deployment/aws-provider-installer.yaml

验证安装情况

要验证 EKS 集群、Secrets Store CSI 驱动程序和 ASCP 插件的安装情况,请按照以下步骤操作:

  1. 验证 EKS 集群的安装情况:

    eksctl get cluster --name clusterName

    该命令应返回有关集群的信息。

  2. 验证 Secrets Store CSI 驱动程序的安装情况:

    kubectl get pods -n kube-system -l app=secrets-store-csi-driver

    您应该看到正在运行的容器组(pod),其名称如下:csi-secrets-store-secrets-store-csi-driver-xxx

  3. 验证 ASCP 插件的安装情况:

    YAML installation
    $ kubectl get pods -n kube-system -l app=csi-secrets-store-provider-aws

    输出示例:

    NAME READY STATUS RESTARTS AGE csi-secrets-store-provider-aws-12345 1/1 Running 0 2m
    Helm installation
    $ kubectl get pods -n kube-system -l app=secrets-store-csi-driver-provider-aws

    输出示例:

    NAME READY STATUS RESTARTS AGE secrets-provider-aws-secrets-store-csi-driver-provider-67890 1/1 Running 0 2m

    您应该看到处于 Running 状态的容器组(pod)。

运行这些命令后,如果一切设置正确,您应该会看到所有组件都在运行,且没有任何错误。如果遇到任何问题,可能需要通过查看出现问题的特定容器组(pod)的日志来进行故障排除。

故障排除

  1. 要查看 ASCP 提供者的日志,请运行:

    kubectl logs -n kube-system -l app=csi-secrets-store-provider-aws
  2. 检查kube-system命名空间中所有 pod 的状态:

    kubectl -n kube-system get pods
    kubectl -n kube-system logs pod/PODID

    所有与 CSI 驱动程序和 ASCP 相关的容器组(pod)都应处于“正在运行”状态。

  3. 检查 CSI 驱动程序版本:

    kubectl get csidriver secrets-store.csi.k8s.io -o yaml

    该命令应返回有关已安装的 CSI 驱动程序的信息。

其他资源

有关将 ASCP 与 Amazon EKS 结合使用的更多信息,请参阅以下资源: