安裝適用於 Amazon EKS 的 ASCP - AWS Secrets Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

安裝適用於 Amazon EKS 的 ASCP

本節說明如何安裝 Amazon EKS 的 AWS Secrets and Configuration Provider。使用 ASCP,您可以從 Secrets Manager 將秘密掛載,並從 將參數掛載 AWS Systems Manager 為 Amazon EKS Pod 中的檔案。

先決條件

  • Amazon EKS 叢集

    • 適用於 Pod Identity 的 1.24 版或更新版本

    • 適用於 IRSA 的 1.17 版或更新版本

  • AWS CLI 已安裝和設定的

  • 為您的 Amazon EKS 叢集安裝和設定 kubectl

  • Helm (3.0 版或更新版本)

安裝和設定 ASCP

您可在 secrets-store-csi-provider-aws 儲存庫中的 GitHub 取得 ASCP。儲存庫還包含用於建立和掛載秘密的範例 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

    您應該會看到執行的名稱為 的 Podcsi-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 驅動程式的相關資訊。

其他資源

如需搭配 Amazon EKS 使用 ASCP 的詳細資訊,請參閱下列資源: