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

为何OpenShift中同配置Deployment Config的两个Pod创建时间不同?

OpenShift DeploymentConfig Rolling更新后Pod创建时间不一致的解决方案

问题场景

我在OpenShift中使用Deployment Configs运行Pod,副本数设为2,滚动策略配置如下:

strategy:
  type: Rolling

更新完成后,事件日志显示:

Generated from deploymentconfig-controller
Scaled replication controller "deployment-12" from 2 to 1

Generated from deploymentconfig-controller
Scaled replication controller "deployment-12" from 1 to 2

预期两个包含更新内容的新Pod创建时间一致,但实际二者创建时间存在差异。

解决方案

调整Rolling策略参数

默认Rolling策略会逐步替换Pod(先缩容旧RC,再扩容新RC),导致新Pod创建有先后。通过配置rollingParams里的maxSurge和maxUnavailable,可以实现一次性创建所有新Pod:

strategy:
  type: Rolling
  rollingParams:
    maxSurge: 100%
    maxUnavailable: 0%
  • maxSurge: 100%:允许更新时额外创建最多等同于当前副本数的新Pod,即直接创建2个新Pod
  • maxUnavailable: 0%:更新期间保证原有Pod全部可用,直到新Pod就绪后再销毁旧Pod

验证效果

应用配置后,更新DeploymentConfig时,事件日志会先出现新RC被扩容到2的记录,之后旧RC被缩容到0,两个新Pod的创建时间会基本一致。

注意事项

  • 确保集群有足够资源(CPU、内存、存储)临时支撑双倍Pod数量(原2个+新2个),直到更新完成
  • 如果应用不允许新旧版本同时运行,可调整参数组合,但这类组合无法避免Pod创建时间差,因此若必须要求创建时间一致,优先采用maxSurge:100% + maxUnavailable:0%的配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 01:57:19