You need to enable JavaScript to run this app. EKS托管节点组集群自动扩缩容时Pod Pending问题排查求助
优惠活动
大模型
产品
解决方案
定价
更多

EKS托管节点组集群自动扩缩容时Pod Pending问题排查求助

问题根因
  • Pod配置了两层强制亲和性规则:
    1. 节点亲和性强制要求必须调度到携带app=mms-node-group标签的节点
    2. Pod反亲和性强制要求同一台节点(topologyKey: kubernetes.io/hostname)上不能运行两个app=mms标签的Pod
  • 初始状态下集群仅1台节点符合节点亲和性要求,已经运行了1个mms Pod,受反亲和性限制无法调度第二个副本。
  • Cluster Autoscaler后续扩容出来的新节点未携带app=mms-node-group标签,不满足节点亲和性要求,因此即使集群节点数增加,新Pod依然无法调度,持续处于Pending状态。
解决方案

方案1:调整托管节点组配置(推荐)

最贴合自动扩缩容需求的方案:

  1. 进入EKS控制台,找到当前运行带app=mms-node-group标签节点的托管节点组,修改节点组的节点标签配置,添加键为app、值为mms-node-group的标签,保存配置后该节点组后续所有新扩容的节点都会自动携带该标签。
  2. 确认该节点组的自动扩缩容功能已开启,且最大节点数≥2。
  3. 删除当前Pending的mms Pod,调度器检测到无符合要求的节点后会触发Cluster Autoscaler扩容该节点组,新节点启动完成后Pod会自动调度成功。

方案2:调整Pod亲和性规则

如果业务不需要强制隔离到专属节点,可以修改Deployment的亲和性配置降低调度要求:

  • 若不需要强制调度到指定标签节点,可以将节点亲和性的requiredDuringSchedulingIgnoredDuringExecution改为preferredDuringSchedulingIgnoredDuringExecution,改为软亲和规则。
  • 若允许多个mms副本运行在同一节点,可以删除Pod反亲和性配置,或者同样改为软亲和规则。
    修改配置重新发布后即可正常扩容Pod。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 23:00:03