You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS CLI创建EKS托管节点组遇IAM信任关系问题求助

解决方案

1. 成功创建托管节点组

你混淆了EKS服务关联角色和节点实例IAM角色,报错根源是误用服务关联角色作为节点实例角色。正确操作步骤如下:

  • 创建节点实例IAM角色(供EC2节点使用):
    aws iam create-role --role-name MyEKSNodeInstanceRole --assume-role-policy-document '{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Principal": {"Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole"}]}'
    
  • 为该角色附加必需的托管策略:
    aws iam attach-role-policy --role-name MyEKSNodeInstanceRole --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
    aws iam attach-role-policy --role-name MyEKSNodeInstanceRole --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly
    aws iam attach-role-policy --role-name MyEKSNodeInstanceRole --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
    
  • 使用CLI创建节点组时,指定上述自定义节点实例角色的ARN:
    aws eks create-nodegroup --cluster-name <你的集群名称> --nodegroup-name <你的节点组名称> --node-role arn:aws:iam::xxx9399:role/MyEKSNodeInstanceRole --subnets <子网ID列表> --instance-types <实例类型> --desired-size <期望节点数>
    

2. 关于服务关联角色的信任关系调整

AWSServiceRoleForAmazonEKSNodegroup是AWS托管的服务关联角色,用户无权限编辑其信任关系,且该角色的信任主体仅需eks-nodegroup.amazonaws.com——它是EKS节点组服务自身使用的角色,不需要添加ec2.amazonaws.com。你之前的报错是因为错误将此角色指定为节点实例角色导致的,纠正角色使用后即可解决。

内容的提问来源于stack exchange,提问作者feedthemachine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:00:54