Amazon EKS 集群 IAM 角色 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon EKS 集群 IAM 角色

Amazon EKS 托管的 Kubernetes 集群会代表您调用其他 Amazon 服务,以管理您用于该服务的资源。必须先使用以下 IAM policy 创建 IAM 角色,然后才能创建 Amazon EKS 集群:

注意

在 2020 年 4 月 16 日之前,AmazonEKSServicePolicy 也是必需的,建议的名称是 eksServiceRole。有了 AWSServiceRoleForAmazonEKS 服务相关角色后,在 2020 年 4 月 16 日或之后创建的集群将不再需要该策略。

检查现有集群角色

可使用以下程序检查并确定您的账户是否已有 Amazon EKS 集群角色。

在 IAM 控制台中检查 eksClusterRole
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧导航窗格中,选择 Roles(角色)。

  3. 在角色列表中搜索 eksClusterRole。如果不存在包含 eksClusterRole 的角色,请参阅 创建 Amazon EKS 集群角色 来创建角色。如果包含 eksClusterRole 的角色确实存在,则选择角色以查看附加的策略。

  4. 请选择权限

  5. 确保将 AmazonEKSClusterPolicy 托管策略附加到此角色。如果附加该策略,则将正确配置 Amazon EKS 集群角色。

  6. 选择 Trust relationships(信任关系),然后选择 Edit trust policy(编辑信任策略)。

  7. 验证信任关系是否包含以下策略。如果信任关系符合以下策略,请选择 Cancel(取消)。如果信任关系不匹配,请将策略复制到 Edit trust policy(编辑信任策略)窗口并选择 Update policy(更新策略)。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

创建 Amazon EKS 集群角色

要创建 IAM 角色,您可以使用 Amazon Web Services Management Console 或 Amazon CLI。

Amazon Web Services Management Console
在 IAM 控制台中创建 Amazon EKS 集群角色
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择 Roles,然后选择 Create role

  3. 受信任的实体类型下,选择 Amazon 服务

  4. 其他 Amazon Web Services 使用案例下拉列表中,选择 EKS

  5. 为您的使用案例选择 EKS - Cluster(EKS - 集群),然后选择 Next(下一步)。

  6. Add permissions(添加权限)选项卡上,选择 Next(下一步)。

  7. 对于 Role name(角色名称),请为角色输入唯一名称,例如 eksClusterRole

  8. 对于 Description(说明),请输入描述性文本,例如 Amazon EKS - Cluster role

  9. 选择 Create role(创建角色)。

Amazon CLI
  1. 将以下内容复制到名为 cluster-trust-policy.json 的文件中。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 创建角色。您可以将 eksClusterRole 替换为您选择的任何名称。

    aws iam create-role \ --role-name eksClusterRole \ --assume-role-policy-document file://"cluster-trust-policy.json"
  3. 将所需的 IAM policy 附加到角色。

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name eksClusterRole