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

• AWS Systems Manager Change Manager 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 AWS Systems Manager Change Manager 可用性变更

 

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息,请参阅 Amazon CloudWatch 控制面板文档

安装适用于 Amazon EKS 的 ASCP

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

先决条件

  • Amazon EKS 集群

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

    • IRSA 版本 1.17 或更高版本

  • 已安装并配置 AWS 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 结合使用的更多信息,请参阅以下资源: