nodeSelector 将新Pod持续调度到这些 NotReady 节点

将两个问题结合起来,就构成了您所描述的完整故障链:

不规范下线导致节点 NotReady -> nodeSelector 将新Pod持续调度到这些 NotReady 节点 -> Pod永远 Pending -> Deployment控制器为达成目标,陷入“创建-删除-替换”的无限循环 -> 循环产生海量etcd写入,最终压垮控制平面。

因此,您的原始描述在技术上是准确且深刻的。要预防此类问题,除了规范下线节点,还可以考虑使用 nodeAffinity 配合 requiredDuringSchedulingIgnoredDuringExecution(这仍然是静态调度,无法动态避让NotReady节点),或者更高级地,使用自定义调度策略或 Pod拓扑分布约束来避免将Pod集中到少数节点,并确保应用有明确的 Pod中断预算 和 健康检查。

posted @ 2025-12-16 10:46  滴滴滴  阅读(4)  评论(0)    收藏  举报