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

无法访问EKS API:aws-auth配置后k8s-admin权限异常

解决EKS中aws-auth ConfigMap配置后k8s-admin权限问题

核心问题:YAML格式错误

你的mapUsers段存在缩进错误,YAML对层级缩进要求严格,username和groups必须与userarn保持同一层级缩进,否则配置无法被正确解析,这是导致权限不生效的直接原因。

正确的mapUsers配置片段如下:

mapUsers: |
  - userarn: arn:aws:iam::XXX:user/k8s-admin
    username: k8s-admin
    groups:
    - system:masters

修复与验证步骤

  1. 修正aws-auth ConfigMap
    直接编辑集群中的ConfigMap文件:

    kubectl edit configmap/aws-auth -n kube-system
    

    将mapUsers段的缩进修正为上述格式后保存退出。

  2. 确认配置生效
    查看更新后的ConfigMap内容,确保格式正确:

    kubectl get configmap/aws-auth -n kube-system -o yaml
    
  3. 重置kubeconfig缓存
    如果使用AWS CLI生成kubeconfig,重新生成并指定k8s-admin用户的认证信息:

    aws eks update-kubeconfig --region <你的集群区域> --name <集群名称> --profile k8s-admin
    

    替换<你的集群区域>和<集群名称>为实际值,--profile对应你本地AWS CLI中配置的k8s-admin用户凭证。

  4. 测试权限
    执行命令验证权限是否恢复:

    kubectl get pods -n default
    

    若配置正确,将能正常列出default命名空间下的Pod。

  5. 清理不必要配置
    mapAccounts用于跨AWS账号访问授权,单个用户权限配置不需要该段,可直接删除,避免干扰认证逻辑。

额外提醒

  • 确保IAM用户k8s-admin拥有eks:DescribeCluster权限,否则无法通过AWS CLI生成有效的kubeconfig。
  • EKS的aws-auth配置变更通常需要1-2分钟生效,若立即测试失败可稍作等待后重试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 06:24:18