使用容器组身份将 IAM 角色分配给 Amazon EKS 附加组件 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

使用容器组身份将 IAM 角色分配给 Amazon EKS 附加组件

某些 Amazon EKS 附加组件需要 IAM 角色和权限。在添加或更新 Amazon EKS 附加组件以使用容器组身份关联之前,请验证要使用的角色和策略。有关更多信息,请参阅 检索 Amazon EKS 附加组件的 IAM 信息

  1. 确定:

    • cluster-name – 要在其上安装附加组件的集群名称。

    • addon-name – 要安装的附加组件名称。

    • service-account-name – 该附加组件使用的 Kubernetes 服务账户的名称。

    • iam-role-arn – 对附加组件拥有足够权限的 IAM 角色的 ARN。该角色必须具有 EKS 容器组身份所需的信任策略。有关更多信息,请参阅创建容器组身份关联(Amazon 控制台)

  2. 使用 Amazon CLI 更新附加组件。您还可以在创建附加组件时使用相同的 --pod-identity-assocations 语法指定容器组身份关联。请注意,如果您在更新附加组件时指定容器组身份关联,则所有之前的容器组身份关联都将被覆盖。

    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-cn:iam::123456789012:role/StorageDriver'
  3. 验证是否已创建容器组身份关联:

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

    如果成功,您应看到与以下内容类似的输出。记下 EKS 附加组件的 OwnerARN。

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