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

安装适用于 Amazon EKS 的 ASCP

本节介绍了如何安装适用于 Amazon EKS 的 Amazon Secrets and Configuration Provider。借助 ASCP,您可以将 Parameter Store 的参数和 Amazon Secrets Manager 的密钥作为文件挂载到 Amazon EKS 容器组(pod)中。

先决条件

  • Amazon EKS 集群

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

    • IRSA 版本 1.17 或更高版本

  • 已安装并配置 Amazon CLI

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

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

安装和配置 ASCP

ASCP 在 secrets-store-csi-provider-aws 存储库中的 GitHub 可用。此存储库还包含 YAML 文件示例,该文件可通过将 objectType 值从 secretsmanager 更改为 ssmparameter 来创建和挂载密钥。

安装过程中,您可以将 ASCP 配置为使用 FIPS 端点。有关 Systems Manager 端点列表,请参阅《Amazon Web Services 一般参考》 中的 Systems Manager service endpoints

使用 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)的状态。

    默认占位符文本替换为自己的容器组(pod)ID:

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

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

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

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

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

其他资源

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