本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
安裝適用於 Amazon EKS 的 ASCP
本節說明如何安裝 Amazon EKS 的 AWS Secrets and Configuration Provider。使用 ASCP,您可以從 Secrets Manager 掛載秘密,並從 將參數掛載 AWS Systems Manager 為 Amazon EKS Pod 中的檔案。
先決條件
-
Amazon EKS 叢集
-
適用於 Pod 身分識別的 1.24 版或更新版本
-
適用於 IRSA 的 1.17 版或更新版本
-
-
AWS CLI 已安裝和設定的
-
已為 Amazon EKS 叢集安裝和設定 kubectl
-
Helm (3.0 版或更新版本)
安裝和設定 ASCP
您可在 secrets-store-csi-provider-aws
在安裝期間,您可以將 ASCP 設定為使用 FIPS 端點。如需端點清單,請參閱 AWS Secrets Manager 端點。
安裝 ASCP 做為 EKS 附加元件
-
安裝
eksctl(安裝指示) -
執行下列命令,以預設組態
安裝 附加元件: eksctl create addon --cluster <your_cluster> --name aws-secrets-store-csi-driver-provider如果您想要設定附加元件,請改為執行下列安裝命令:
aws eks create-addon --cluster-name <your_cluster> --addon-name aws-secrets-store-csi-driver-provider --configuration-values 'file://path/to/config.yaml'組態檔案可以是 YAML 或 JSON 檔案。若要查看附加元件的組態結構描述:
-
執行下列命令,並記下 附加元件的最新版本:
aws eks describe-addon-versions --addon-name aws-secrets-store-csi-driver-provider -
執行下列命令以查看附加元件的組態結構描述,
<version>將 取代為上一個步驟的 版本:aws eks describe-addon-configuration --addon-name aws-secrets-store-csi-driver-provider --addon-version <version>
-
使用 Helm 安裝 ASCP
-
為確認儲存庫指向最新圖表,請使用
helm repo update. -
安裝圖表。以下是
helm install命令的範例:helm install -n kube-system secrets-provider-aws aws-secrets-manager/secrets-store-csi-driver-provider-aws-
若要使用 FIPS 端點,請新增下列旗標:
--set useFipsEndpoint=true -
若要設定限流,請新增下列旗標:
--set-json 'k8sThrottlingParams={"qps": "number of queries per second", "burst": "number of queries per second"}' -
如果您的叢集已安裝 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 外掛程式的安裝,請遵循下列步驟:
-
驗證 EKS 叢集:
eksctl get cluster --nameclusterName此命令應傳回叢集的相關資訊。
-
驗證 Secrets Store CSI 驅動程式的安裝:
kubectl get pods -n kube-system -l app=secrets-store-csi-driver您應該會看到名稱類似於
csi-secrets-store-secrets-store-csi-driver-xxx的 Pod 正在執行。 -
驗證 ASCP 外掛程式的安裝:
您應該會看到處於
Running狀態的 Pod。
執行這些命令之後,如果一切皆正確設定,您應該會看到所有元件都在執行,而且沒有任何錯誤。如果您遇到任何問題,您可能需要檢查有問題之特定 Pod 的日誌,以進行疑難排解。
疑難排解
-
若要檢查 ASCP 提供者的日誌,請執行:
kubectl logs -n kube-system -l app=csi-secrets-store-provider-aws -
檢查
kube-system命名空間中所有 Pod 的狀態:kubectl -n kube-system get podskubectl -n kube-system logs pod/PODID與 CSI 驅動程式和 ASCP 相關的所有 Pod 都應該處於「執行中」狀態。
-
檢查 CSI 驅動程式版本:
kubectl get csidriver secrets-store.csi.k8s.io -o yaml此命令應傳回已安裝 CSI 驅動程式的相關資訊。
其他資源
如需有關如何搭配 Amazon EKS 使用 ASCP 的詳細資訊,請參閱下列資源: