使用 Pod 身分將 IAM 角色指派給 Amazon EKS 附加元件 - Amazon EKS

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

使用 Pod 身分將 IAM 角色指派給 Amazon EKS 附加元件

某些 Amazon EKS 附加元件需要 IAM 角色和許可。新增 Amazon EKS 附加元件以使用 Pod Identity 關聯之前,請確認要使用的角色和政策。如需詳細資訊,請參閱擷取 Amazon IAM 附加元件的 EKS 資訊

  1. 判斷:

    • cluster-name – 要安裝附加元件的叢集名稱。

    • addon-name – 要安裝的附加元件名稱。

    • service-account-name – 附加元件使用的 Kubernetes Service 帳戶名稱。

    • iam-role-arn – 具有足夠附加元件許可ARN的 IAM 角色。角色必須具有 EKS Pod Identity 所需的信任政策。如需詳細資訊,請參閱 建立 Pod Identity AWS 關聯 (主控台)

  2. 使用 AWS CLI 更新附加元件。您也可以在建立附加元件時使用相同的--pod-identity-assocations語法來指定 Pod Identity 關聯。請注意,當您在更新附加元件時指定 Pod 身分關聯時,會覆寫所有先前的 Pod 身分關聯。

    aws eks update-addon --cluster-name <cluster-name> \ --addon-name <addon-name> \ --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'

    例如:

    aws eks update-addon --cluster-name mycluster \ --addon-name aws-ebs-csi-driver \ --pod-identity-associations 'serviceAccount=ebs-csi-controller-sa,roleArn=arn:aws: iam::123456789012:role/StorageDriver'
  3. 驗證是否已建立 Pod Identity 關聯:

    aws eks list-pod-identity-associations --cluster-name <cluster-name>

    如果執行成功,您應該會看到類似下列的輸出。請注意 ARN 附加元件的 OwnerEKS。

    { "associations": [ { "clusterName": "mycluster", "namespace": "kube-system", "serviceAccount": "ebs-csi-controller-sa", "associationArn": "arn:aws: eks:us-west-2:123456789012:podidentityassociation/mycluster/a-4wvljrezsukshq1bv", "associationId": "a-4wvljrezsukshq1bv", "ownerArn": "arn:aws: eks:us-west-2:123456789012:addon/mycluster/aws-ebs-csi-driver/9cc7ce8c-2e15-b0a7-f311-426691cd8546" } ] }