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

为集群创建 IAM OIDC 提供商

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

先决条件

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

您可以使用 eksctl 或 Amazon Web Services Management Console 为集群创建 OIDC 提供程序。

eksctl

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

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

    查看集群的 OIDC 提供商 URL。

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

    输出示例:

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

    列出您账户中的所有 OIDC 提供商。请将 EXAMPLED539D4633E53DE1B716D3041E 替换为上一个命令返回的值。

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

    输出示例

    "Arn": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.region-code.amazonaws.com.cn/id/EXAMPLED539D4633E53DE1B716D3041E"

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

  2. 使用以下命令为您的集群创建 IAM OIDC 身份提供商。使用自己的值创建 my-cluster

    eksctl utils associate-iam-oidc-provider --cluster my-cluster --approve
Amazon Web Services Management Console

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

  1. 访问 https://console.aws.amazon.com/eks/home#/clusters 打开 Amazon EKS 控制台。

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

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

  4. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  5. 在左侧导航窗格中,选择 Access management(访问管理)下方的 Identity Providers(标识提供程序)。如果列出的 Provider(提供商)与集群的 URL 匹配,那么您的集群已经有了提供商。如果未列出与集群 URL 匹配的提供商,则必须创建一个提供商。

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

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

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

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