在 EKS 集群上为服务账户(IRSA)启用 IAM 角色 - Amazon EMR

在 EKS 集群上为服务账户(IRSA)启用 IAM 角色

服务账户的 IAM 角色功能适用于 Amazon EKS 版本 1.14 及更高版本,也适用于在 2019 年 9 月 3 日及之后更新为版本 1.13 及更高版本的 EKS 集群。要使用此功能,您可将现有 EKS 集群更新到版本 1.14 或更高版本。有关更多信息,请参阅更新 Amazon EKS 集群 Kubernetes 版本

如果您的集群支持服务账户的 IAM 角色,则它会关联 OpenID Connect 发布者的 URL。您可以在 Amazon EKS 控制台中查看此 URL,也可以使用以下 AWS CLI 命令检索它。

重要

您必须使用 AWS CLI 的最新版本,才能从此命令接收适合的输出。

aws eks describe-cluster --name cluster_name --query "cluster.identity.oidc.issuer" --output text

预期的输出如下所示。

https://oidc.eks.<region-code>.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E

要为集群中的服务账户使用 IAM 角色,您必须使用 eksctlAWS Management Console创建 OIDC 身份提供商。

使用 eksctl 为集群创建 IAM OIDC 身份提供商

使用以下命令查看您的 eksctl 版本。此过程假定您已安装 eksctl,且您的 eksctl 版本最低为 0.32.0 或更高版本。

eksctl version

有关安装或升级 eksctl 的更多信息,请参阅安装或升级 eksctl

使用以下命令为您的集群创建 OIDC 身份提供商。使用自己的值替换 cluster_name

eksctl utils associate-iam-oidc-provider --cluster cluster_name --approve

使用AWS Management Console为集群创建 IAM OIDC 身份提供商

从集群的 Amazon EKS 控制台描述中检索 OIDC 发布者 URL,或者使用以下 AWS CLI 命令。

使用以下命令检索 AWS CLI 中 OIDC 发布者的 URL。

aws eks describe-cluster --name <cluster_name> --query "cluster.identity.oidc.issuer" --output text

使用以下步骤检索 Amazon EKS 控制台中 OIDC 发布者的 URL。

  1. 通过 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

  2. 在导航窗格中,选择 Identity Providers (身份提供商),然后选择 Create Provider (创建提供商)

    1. 对于 Provider Type(提供商类型),选择 Choose a provider type(选择提供商类型),然后选择 OpenID Connect

    2. 对于 Provider URL(提供商 URL),粘贴集群的 OIDC 发布者 URL。

    3. 对于受众,键入 sts.amazonaws.com 并选择 Next Step (下一步)

  3. 验证提供商信息正确,然后选择 Create(创建)以创建身份提供商。