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

EKS部署Cluster Autoscaler报NoCredentialProviders无法发现ASG问题求助

你遇到的报错本质是Cluster Autoscaler Pod无法获取到有权限的AWS凭证,由于你不使用IAM OIDC方案,凭证需要从Pod运行所在Worker Node的IAM角色获取,可按以下优先级排查遗漏配置:

修复方案

  1. 补充AWS区域环境变量
    这是该场景下最高发的遗漏项。Cluster Autoscaler默认没有内置区域配置,无法正常加载节点IAM角色的凭证链,你需要在CA的Deployment配置的spec.template.spec.containers[0].env字段下新增区域配置:
- name: AWS_REGION
  value: ap-south-1

修改后重新应用Deployment即可。

  1. 调整EC2实例元数据服务(IMDS)跳数
    如果你的Worker Node启用了IMDSv2,默认HTTP响应跳数为1,容器内进程无法访问元数据服务获取节点IAM角色凭证,需要将ASG启动模板中实例元数据的跳数调整为2。你可以直接批量修改对应ASG下现有实例的配置:
aws ec2 modify-instance-metadata-options \
  --instance-id <你的Worker Node实例ID> \
  --http-put-response-hop-limit 2 \
  --http-endpoint enabled

也可以直接更新ASG的启动模板配置,避免后续新扩容的节点再出现该问题。

  1. 确保Pod调度到有权限的节点
    如果你集群内存在多组绑定不同IAM角色的Worker Node,若CA Pod被调度到未绑定CA权限策略的节点上,就会出现凭证缺失报错。你可以给CA的Deployment添加nodeSelector/节点亲和性规则,强制调度到绑定了权限的节点组,或者给所有Worker Node的IAM角色统一绑定CA所需的权限策略。

  2. 校验Worker Node IAM角色信任策略
    确认你绑定了CA权限的IAM角色的信任策略中,允许EC2服务扮演该角色,信任策略需包含以下规则:

{
  "Effect": "Allow",
  "Principal": {
    "Service": "ec2.amazonaws.com"
  },
  "Action": "sts:AssumeRole"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:15:04