为集群创建 IAM OIDC 提供商 - Amazon EKS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为集群创建 IAM OIDC 提供商

您的集群具有与之关联的 OpenID Connect 发布者 URL。要为服务账户使用 IAM 角色,您的集群必须存在 IAM OIDC 提供商。

Prerequisites

使用现有 集群。如果没有,可以使用 开始使用 Amazon EKS 指南之一创建一个。

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

  1. 确定集群是否有现有的 IAM OIDC 提供商。

    查看集群的 OIDC 提供商 URL。

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

    输出示例:

    https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E

    列出您账户中的 IAM OIDC 提供商。用上一个命令返回的值替换 <EXAMPLED539D4633E53DE1B716D3041E>(包括 <>)。

    aws iam list-open-id-connect-providers | grep <EXAMPLED539D4633E53DE1B716D3041E>

    输出示例

    "Arn": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/EXAMPLED539D4633E53DE1B716D3041E"

    如果从上一个命令返回了输出,那么您的集群已经有了提供商。如果没有返回输出,则必须创建 IAM OIDC 提供商。

  2. 使用以下命令为您的集群创建 IAM OIDC 身份提供商。将 <cluster_name>(包括 <>)替换为您自己的值。

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

使用 AWS 管理控制台 为集群创建 IAM OIDC 身份提供商

  1. Open the Amazon EKS console at https://console.amazonaws.cn/eks/home#/clusters.

  2. 选择集群的名称,然后选择 Configuration (配置) 选项卡。

  3. Details (详细信息) 部分中,记下 OpenID Connect provider URL (OpenID Connect 提供商 URL) 的值。

  4. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  5. 在导航窗格中,选择 Identity Providers (身份提供商)。如果列出的 Provider (提供商) 与集群的 URL 匹配,则表明您的集群已经拥有提供商。如果未列出与集群的 URL 匹配的提供商,则必须创建一个提供商。

  6. 要创建提供商,请选择 Add Provider (添加提供商)

  7. 对于 Provider Type (提供商类型),选择 OpenID Connect (AWS 连接)

  8. 对于 Provider URL (提供商 URL),粘贴集群的 OIDC 发布者 URL,然后选择 Get thumbprint (获取指纹)

  9. 对于 Audience (受众),输入 sts.amazonaws.com 并选择 Add provider (添加提供商)