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

Deployment滚动更新时如何选择待销毁的旧Pod?

Deployment滚动更新时如何选择待销毁的旧Pod?

嘿,这个问题问到点子上了!很多人用Deployment做滚动更新时都没留意过这个细节,我给你唠明白~

就拿你说的 replicas: 2、maxUnavailable: 1 的场景来说,Kubernetes不会随机瞎删旧Pod,而是按一套优先级逻辑来挑选要销毁的对象:

  • 第一步:优先找**未就绪(Not Ready)**的旧Pod,如果有的话直接删它——毕竟这个Pod本来就没法提供服务,删了也不影响业务可用性
  • 第二步:如果所有旧Pod都是正常就绪状态,接下来会看它们所在的节点分布:
    • 优先删除所在节点上运行的同旧ReplicaSet的Pod数量更多的那个,目的是尽量让节点间的Pod负载更均衡。比如两个旧Pod分别在不同节点,那节点上的同RS Pod数量都是1,这时候就随机选一个;要是俩Pod都在同一个节点,那删其中一个后,后续新Pod大概率会调度到其他节点,平衡负载
  • 额外注意:如果你配置了 PodDisruptionBudget(PDB),Kubernetes会先确保删除Pod后仍满足PDB规定的最小可用Pod数量要求,再按上面的逻辑选择目标Pod

备注:内容来源于stack exchange,提问作者zerkms

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 15:53:12