在 EKS 集群上为服务账户(IRSA)启用 IAM 角色
服务账户的 IAM 角色功能适用于 Amazon EKS 版本 1.14 及更高版本,也适用于在 2019 年 9 月 3 日及之后更新为版本 1.13 及更高版本的 EKS 集群。要使用此功能,您可将现有 EKS 集群更新到版本 1.14 或更高版本。有关更多信息,请参阅更新 Amazon EKS 集群 Kubernetes 版本。
如果您的集群支持服务账户的 IAM 角色,则它会关联 OpenID Connect
重要
您必须使用 Amazon 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 角色,您必须使用 eksctl 或Amazon Web Services 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
使用Amazon Web Services Management Console为集群创建 IAM OIDC 身份提供商
从集群的 Amazon EKS 控制台描述中检索 OIDC 发布者 URL,或者使用以下 Amazon CLI 命令。
使用以下命令检索 Amazon CLI 中 OIDC 发布者的 URL。
aws eks describe-cluster --name <cluster_name> --query "cluster.identity.oidc.issuer" --output text
使用以下步骤检索 Amazon EKS 控制台中 OIDC 发布者的 URL。
-
通过 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择 Identity Providers (身份提供商),然后选择 Create Provider (创建提供商)。
-
对于 Provider Type(提供商类型),选择 Choose a provider type(选择提供商类型),然后选择 OpenID Connect。
-
对于 Provider URL(提供商 URL),粘贴集群的 OIDC 发布者 URL。
-
对于受众,键入 sts.amazonaws.com 并选择 Next Step (下一步)。
-
-
验证提供商信息正确,然后选择 Create(创建)以创建身份提供商。