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

集群创建者信息丢失时如何使用其他用户访问EKS集群

EKS集群创建者遗失时管理员访问方案

报错原因

Your current user or role does not have access to Kubernetes objects on this EKS cluster
该报错是EKS的默认权限机制导致的:集群创建时使用的IAM实体(用户/角色)会被自动绑定到Kubernetes内置的system:masters管理员组,其余IAM身份即便拥有AWS全局管理员权限,默认也无法访问集群内部Kubernetes资源。

前提准备

  • 你当前使用的管理员IAM身份需具备AWS侧eks:DescribeCluster、eks:CreateAccessEntry、eks:AssociateAccessPolicy权限
  • 执行以下命令获取当前IAM身份的ARN,后续配置需要用到:
aws sts get-caller-identity --query Arn --output text

操作步骤

方案1:使用EKS原生访问入口配置(推荐)

该方案为AWS官方支持的权限配置方式,无需直接操作集群内部ConfigMap,适配所有1.22及以上版本的EKS集群:

  1. 执行以下命令为你的管理员IAM身份绑定集群管理员权限,将占位符替换为你的实际参数:
aws eks create-access-entry \
  --cluster-name <你的EKS集群名称> \
  --principal-arn <上一步获取的管理员IAM ARN> \
  --kubernetes-groups system:masters \
  --region <集群所在AWS区域>
  1. 执行命令更新本地kubeconfig配置:
aws eks update-kubeconfig --name <你的EKS集群名称> --region <集群所在AWS区域>
  1. 验证权限是否生效:
kubectl get nodes

正常返回节点列表即为配置成功。

方案2:修改aws-auth ConfigMap(适配1.22以下版本旧集群)

针对未启用EKS访问入口的旧版本集群,可直接修改Kubernetes系统命名空间下的aws-auth ConfigMap完成授权:

  1. 执行命令拉取当前aws-auth配置到本地:
kubectl get configmap aws-auth -n kube-system -o yaml > aws-auth.yaml
  1. 编辑aws-auth.yaml文件,在mapUsers字段下添加你的管理员身份配置:
mapUsers: |
  - userarn: <你的管理员IAM ARN>
    username: admin
    groups:
      - system:masters
  1. 应用修改后的配置:
kubectl apply -f aws-auth.yaml -n kube-system
  1. 重新更新kubeconfig后执行kubectl get nodes验证即可。

排查注意事项

  • 权限配置后最多需要2分钟生效,配置完成后稍等片刻再重试
  • 若依然报错,再次执行aws sts get-caller-identity确认当前使用的IAM身份ARN和配置的ARN完全一致
  • 确保本地aws cli配置的区域和集群所在区域匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:24:04