Amazon EKS 节点 IAM 角色
Amazon EKS 节点 kubelet
守护进程代表您调用 Amazon API。节点通过 IAM 实例配置文件和关联的策略获得这些 API 调用的权限。您必须先为节点创建 IAM 角色以在启动它们时使用,然后才能启动这些节点并在集群中注册它们。此要求适用于通过由 Amazon 提供的 Amazon EKS 优化版 AMI 启动的节点,也适用于您打算使用的任何其他节点 AMI。
注意
您不能使用创建任何集群时使用的相同角色。
必须先使用以下 IAM policy 创建 IAM 角色,然后才能创建节点:
-
AmazonEKS_CNI_Policy
托管策略(如果使用IPv4
系列创建集群)或您创建的 IPv6 策略(如果使用IPv6
系列创建集群)。但是,我们建议您将策略附加到专门用于 Amazon VPC CNI 附加组件的单独角色,而不是附加到此角色。有关为 Amazon VPC CNI 附加组件创建单独角色的详细信息,请参阅 配置 Amazon VPC CNI plugin for Kubernetes 将 IAM 角色用于服务账户。
注意
Amazon EC2 节点组必须具有与 Fargate 配置文件不同的 IAM 角色。有关更多信息,请参阅Amazon EKS Pod 执行 IAM 角色。
检查现有节点角色
可以使用以下过程检查并查看您的账户是否已有 Amazon EKS 节点角色。
在 IAM 控制台中检查 eksNodeRole
通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在左侧导航窗格中,选择 Roles(角色)。
-
在角色列表中搜索
eksNodeRole
、AmazonEKSNodeRole
或NodeInstanceRole
。如果其中一个名称的角色不存在,请参阅 创建 Amazon EKS 节点 IAM 角色 以创建该角色。如果包含eksNodeRole
、AmazonEKSNodeRole
或NodeInstanceRole
的角色确实存在,请选择该角色以查看附加的策略。 -
请选择权限。
-
确保将 AmazonEKSWorkerNodePolicy 和 AmazonEC2ContainerRegistryReadOnly 托管策略附加到此角色。
注意
如果 AmazonEKS_CNI_Policy 策略已附加到角色,我们建议删除此策略并改为将其附加到映射到
aws-node
Kubernetes 服务账户的 IAM 角色。有关更多信息,请参阅配置 Amazon VPC CNI plugin for Kubernetes 将 IAM 角色用于服务账户。 -
选择 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 角色
您可以使用 Amazon Web Services Management Console 或 Amazon CLI 创建节点 IAM 角色。