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

无可用aws-auth ConfigMap时如何登录EKS集群?AWS SSO角色丢失求助

解决方案

方法1:通过EKS控制台可视化更新aws-auth ConfigMap

直接利用AWS控制台的集群访问权限管理功能,无需kubectl连接:

  • 登录AWS控制台,进入目标EKS集群的详情页面
  • 切换到**「访问权限」**标签页
  • 点击**「添加访问权限」**,选择新的IAM角色(手动创建或新的SSO角色均可),配置对应的Kubernetes权限组(如system:masters)
  • 保存后,控制台会自动同步更新aws-auth ConfigMap,此时使用新角色的凭证即可连接集群

方法2:用AWS CLI调用EKS API修改ConfigMap

如果控制台操作受限,可通过CLI直接操作:

  1. 创建一个新的IAM角色(例如new-eks-admin-role),确保该角色拥有eks:DescribeCluster和eks:UpdateClusterConfig权限
  2. 编写包含新角色映射的配置内容(示例如下):
apiVersion: v1
kind: ConfigMap
metadata:
  name: aws-auth
  namespace: kube-system
data:
  mapRoles: |
    - rolearn: arn:aws:iam::123456789012:role/new-eks-admin-role
      username: admin
      groups:
        - system:masters
  1. 执行CLI命令完成更新:
aws eks update-kubeconfig --name your-cluster-name
aws eks update-cluster-config --name your-cluster-name --config '{"awsAuthConfig":{"mapRoles":[{"roleArn":"arn:aws:iam::123456789012:role/new-eks-admin-role","username":"admin","groups":["system:masters"]}]}}'
  1. 验证:使用新角色凭证执行kubectl get pods -n kube-system,确认集群访问恢复

方法3:借助集群EC2节点临时修改ConfigMap

若前两种方法失效,可通过集群工作节点获取临时访问权限:

  • 找到EKS集群关联的EC2工作节点,通过SSM Session Manager登录(需节点具备SSM访问权限)
  • 节点默认配置了集群访问权限,直接在节点内执行命令修改ConfigMap:
kubectl edit configmap aws-auth -n kube-system
  • 添加新的角色映射后保存,退出节点即可用新角色凭证连接集群

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:35:30