帮助改进此页面
想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。
Amazon EKS 集群 IAM 角色
对于每个集群,均需要 Amazon EKS 集群 IAM 角色。由 Amazon EKS 管理的 Kubernetes 集群使用此角色来管理节点,而旧版云提供商
必须先使用以下任一 IAM policy 创建 IAM 角色,然后才能创建 Amazon EKS 集群:
-
自定义 IAM policy。随后的最低权限允许 Kubernetes 集群管理节点,但不允许传统 Cloud Provider
创建带有 Elastic Load Balancing 的负载均衡器。您的自定义 IAM policy必须至少具有以下权限: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "ForAnyValue:StringLike": { "aws:TagKeys": "kubernetes.io/cluster/*" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeAvailabilityZones", "kms:DescribeKey" ], "Resource": "*" } ] }
注意
在 2023 年 10 月 3 日之前,每个集群的 IAM 角色都必须有 AmazonEKSClusterPolicy。
在 2020 年 4 月 16 日之前,AmazonEKSServicePolicy 和 AmazonEKSClusterPolicy 是必需的,建议的角色名称是 eksServiceRole
。有了 AWSServiceRoleForAmazonEKS
服务相关角色后,在 2020 年 4 月 16 日或之后创建的集群将不再需要 AmazonEKSServicePolicy 策略。
检查现有集群角色
可使用以下程序检查并确定您的账户是否已有 Amazon EKS 集群角色。
在 IAM 控制台中检查 eksClusterRole
通过 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在左侧导航窗格中,选择 Roles(角色)。
-
在角色列表中搜索
eksClusterRole
。如果不存在包含eksClusterRole
的角色,请参阅 创建 Amazon EKS 集群角色 来创建角色。如果包含eksClusterRole
的角色确实存在,则选择角色以查看附加的策略。 -
选择权限。
-
确保将 AmazonEKSClusterPolicy 托管策略附加到此角色。如果附加该策略,则将正确配置 Amazon EKS 集群角色。
-
选择 Trust relationships(信任关系),然后选择 Edit trust policy(编辑信任策略)。
-
验证信任关系是否包含以下策略。如果信任关系符合以下策略,请选择 Cancel(取消)。如果信任关系不匹配,请将策略复制到 Edit trust policy(编辑信任策略)窗口并选择 Update policy(更新策略)。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
创建 Amazon EKS 集群角色
要创建 IAM 角色,您可以使用 AWS Management Console 或 AWS CLI。