帮助改进此页面
想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。
Amazon EKS 节点 IAM 角色
Amazon EKS 节点 kubelet
守护进程代表您调用 AWS API。节点通过 IAM 实例配置文件和关联的策略获得这些 API 调用的权限。您必须先为节点创建 IAM 角色以在启动它们时使用,然后才能启动这些节点并在集群中注册它们。此要求适用于通过由 Amazon 提供的 Amazon EKS 优化版 AMI 启动的节点,也适用于您打算使用的任何其他节点 AMI。此外,此要求适用于托管节点组和自行管理的节点。
注意
您不能使用创建任何集群时使用的相同角色。
必须先使用以下权限创建 IAM 角色,然后才能创建节点:
-
kubelet
描述 VPC 中 Amazon EC2 资源的权限,例如AmazonEKSWorkerNodePolicy
策略提供的权限。该策略还为 Amazon EKS 容器组身份代理提供权限。 -
kubelet
使用来自 Amazon Elastic Container Registry(Amazon ECR)的容器映像的权限,例如AmazonEC2ContainerRegistryReadOnly
策略提供的权限。使用来自 Amazon Elastic Container Registry(Amazon ECR)的容器映像的权限是必要条件,因为用于联网的内置附加组件运行的 Pod 使用来自 Amazon ECR 的容器映像。 -
(可选)Amazon EKS 容器组身份代理使用
eks-auth:AssumeRoleForPodIdentity
操作检索容器组凭证的权限。如果您不使用 AmazonEKSWorkerNodePolicy,那么除了使用 EKS 容器组身份的 EC2 权限外,您还必须提供此权限。 -
(可选)如果您不使用 IRSA 或 EKS 容器组身份向 VPC CNI 容器组授予权限,则必须为实例角色的 VPC CNI 提供权限。您可以使用
AmazonEKS_CNI_Policy
托管策略(如果使用IPv4
系列创建集群)或您创建的 IPv6 策略(如果使用IPv6
系列创建集群)。但是,我们建议您将策略附加到专门用于 Amazon VPC CNI 附加组件的单独角色,而不是附加到此角色。有关为 Amazon VPC CNI 附加组件创建单独角色的详细信息,请参阅 配置 Amazon VPC CNI 插件以使用 IRSA。
注意
在 2023 年 10 月 3 日之前,每个托管节点组的 IAM 角色上需要有 AmazonEKSWorkerNodePolicy
和 AmazonEC2ContainerRegistryReadOnly
。
Amazon EC2 节点组必须具有与 Fargate 配置文件不同的 IAM 角色。有关更多信息,请参阅 Amazon EKS Pod 执行 IAM 角色。
检查现有节点角色
可以使用以下过程检查并查看您的账户是否已有 Amazon EKS 节点角色。
在 IAM 控制台中检查 eksNodeRole
通过 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在左侧导航窗格中,选择 Roles(角色)。
-
在角色列表中搜索
eksNodeRole
、AmazonEKSNodeRole
或NodeInstanceRole
。如果其中一个名称的角色不存在,请参阅 创建 Amazon EKS 节点 IAM 角色 以创建该角色。如果包含eksNodeRole
、AmazonEKSNodeRole
或NodeInstanceRole
的角色确实存在,请选择该角色以查看附加的策略。 -
选择权限。
-
确保将 AmazonEKSWorkerNodePolicy 和 AmazonEC2ContainerRegistryReadOnly 托管策略附加到此角色,或者使用最低权限附加自定义策略。
注意
如果 AmazonEKS_CNI_Policy 策略已附加到角色,我们建议删除此策略并改为将其附加到映射到
aws-node
Kubernetes 服务账户的 IAM 角色。有关更多信息,请参阅 配置 Amazon VPC CNI 插件以使用 IRSA。 -
选择 Trust relationships(信任关系),然后选择 Edit trust policy(编辑信任策略)。
-
验证信任关系是否包含以下策略。如果信任关系符合以下策略,请选择 Cancel(取消)。如果信任关系不匹配,请将策略复制到 Edit trust policy(编辑信任策略)窗口并选择 Update policy(更新策略)。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
创建 Amazon EKS 节点 IAM 角色
您可以使用 AWS Management Console 或 AWS CLI 创建节点 IAM 角色。