安装适用于 Amazon EKS 的 ASCP - AWS Secrets Manager

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

安装适用于 Amazon EKS 的 ASCP

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

先决条件

  • Amazon EKS 集群

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

    • IRSA 版本 1.17 或更高版本

  • 已 AWS CLI 安装并配置的

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

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

安装和配置 ASCP

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

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

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

  2. 安装图表。以下是该helm install命令的示例:

    helm install -n kube-system secrets-provider-aws aws-secrets-manager/secrets-store-csi-driver-provider-aws
    1. 要使用 FIPS 端点,请添加以下标志:--set useFipsEndpoint=true

    2. 要配置节流,请添加以下标志:--set-json 'k8sThrottlingParams={"qps": "number of queries per second", "burst": "number of queries per second"}'

    3. 如果您的集群上已经安装了 Secrets Store CSI 驱动程序,请添加以下标志:--set secrets-store-csi-driver.install=false。这将跳过将 Secrets Store CSI 驱动程序作为依赖项进行安装。

在存储库中使用 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 结合使用的更多信息,请参阅以下资源: