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

执行kubectl get svc遇认证错误,求IAM权限及EKS添加IAM主体方案

问题解决方案

一、执行kubectl get svc所需的IAM权限

要通过IAM身份验证访问EKS集群并执行kubectl get svc,核心需要两个层面的权限:

  • IAM层面:eks:DescribeCluster权限,用于获取集群端点和证书数据,保障kubeconfig能正常对接集群API
  • 集群权限:需要将IAM主体(用户/角色)加入EKS集群的授权体系,这部分由aws-auth ConfigMap控制,而非单纯IAM权限

二、绕过kubectl死循环添加IAM主体的方法

如果当前无法通过kubectl操作,可通过以下方式直接修改aws-auth ConfigMap:

方法1:使用eksctl工具(推荐)

如果你已安装eksctl,直接执行命令将IAM用户加入集群管理员组:

eksctl create iamidentitymapping --cluster <你的集群名称> \
  --arn arn:aws:iam::<你的AWS账号ID>:user/<你的IAM用户名> \
  --group system:masters \
  --username <你的IAM用户名>

方法2:通过AWS CLI调用Kubernetes API

  1. 先获取集群的核心信息:
# 获取集群端点
CLUSTER_ENDPOINT=$(aws eks describe-cluster --name <你的集群名称> --query "cluster.endpoint" --output text)
# 获取集群CA证书(解码后供curl使用)
CLUSTER_CA=$(aws eks describe-cluster --name <你的集群名称> --query "cluster.certificateAuthority.data" --output text | base64 --decode)
  1. 调用API更新aws-auth ConfigMap:
curl -X PATCH \
  "$CLUSTER_ENDPOINT/api/v1/namespaces/kube-system/configmaps/aws-auth" \
  --header "Content-Type: application/strategic-merge-patch+json" \
  --header "Authorization: Bearer $(aws eks get-token --cluster-name <你的集群名称> --query "status.token" --output text)" \
  --cacert <(echo "$CLUSTER_CA") \
  --data '{
    "data": {
      "mapUsers": "- userarn: arn:aws:iam::<你的AWS账号ID>:user/<你的IAM用户名>\n  username: <你的IAM用户名>\n  groups:\n    - system:masters\n"
    }
  }'

方法3:手动编辑ConfigMap文件(若能临时获取kubectl权限)

如果能通过集群创建者身份临时执行kubectl,导出并修改配置:

# 导出当前aws-auth配置
kubectl get configmap aws-auth -n kube-system -o yaml > aws-auth.yaml

在mapUsers字段下添加你的IAM用户信息:

mapUsers: |
  - userarn: arn:aws:iam::<你的AWS账号ID>:user/<你的IAM用户名>
    username: <你的IAM用户名>
    groups:
      - system:masters

再应用修改:

kubectl apply -f aws-auth.yaml -n kube-system

三、验证与额外排查

修改完成后,重新执行kubectl get svc即可验证权限是否生效。额外排查点:

  • 确认本地AWS凭证(~/.aws/credentials或环境变量)为当前IAM用户的有效凭证
  • 检查kubeconfig中用户认证方式是否配置为aws eks get-token或aws-iam-authenticator

内容的提问来源于stack exchange,提问作者Jenia Be Nice Please

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 15:32:43