AWS EC2 无法访问 EKS

AWS EC2 unable to access EKS

我的角色具有访问 EKS、Ec2、附加到 Ec2 实例的 IAM 的完全权限。

我正在尝试从此 Ec2 实例访问我的 EKS 集群。我确实将 Ec2 实例 arn 添加到实例所承担的角色的信任关系中,如下所示。但是,当我尝试使用 kubectl 从 Ec2 实例中的 cli 访问集群时,我仍然收到如下错误。

我在下面尝试获取写入实例 hoe 目录的 kube 配置,我从中执行这些命令。

aws sts get-caller-identity

$ aws eks update-kubeconfig --name eks-cluster-name --region aws-region --role-arn arn:aws:iam::XXXXXXXXXXXX:role/testrole

我得到的错误:

error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:sts::769379794363:assumed-role/dev-server-role/i-016d7738c9cb84b96 is not authorized to perform: sts:AssumeRole on resource xxx

您需要建立信任关系,转到我是角色并单击信任关系并添加以下内容JSON

将 XXXXXXXXXXXX 替换为您的帐户 ID

            {
              "Version": "2012-10-17",
              "Statement": [
                {
                  "Effect": "Allow",
                  "Principal": {
                    "AWS": [
                      "arn:aws:iam::XXXXXXXXXXXX:root",
                    ]
                  },
                  "Action": "sts:AssumeRole"
                }
              ]
            }

社区 wiki 答案以提高知名度。

问题已通过评论中的一个很好的提示解决:

Don't specify role-arn if you want it to use the instance profile.

OP 已确认:

thanks @jordanm that helped