如果设置minReadySeconds的话 云效会等待minReadySeconds的时间再下线老的Pod吗?说错了是Appstack的分批部署 ,我们有些服务启动需要预热 且预热过程中 希望Pod运行一段时间后再下线老的pod。
在云效中,如果设置了 minReadySeconds
,它会影响部署过程中的流量切换和旧 Pod 的下线时间。
minReadySeconds
是一个用于控制新创建的 Pod 在就绪状态之前的等待时间的参数。当您设置了 minReadySeconds
后,云效会等待指定的时间,以确保新创建的 Pod 已经准备好接收流量,然后再开始进行流量切换和下线旧的 Pod。
具体来说,以下是在设置了 minReadySeconds
时的部署过程:
minReadySeconds
时间,以确保新 Pod 就绪。通过设置 minReadySeconds
,可以防止在新 Pod 尚未完全就绪时就开始将流量切换到它上面,从而避免可能的故障或不稳定性。
在AppStack中,如果你设置了minReadySeconds参数,它会确保新创建的Pod至少运行指定的时间后才被视为可用。这有助于确保服务已经正确地预热,并且能够处理流量。
然而,对于分批部署和下线旧Pod的行为,可能不会直接与minReadySeconds相关联。通常,在分批部署期间,新的Pod会被逐渐创建并启动,而旧的Pod会在达到一定的阈值(如已部署的新Pod数量)时开始被逐个下线。
minReadySeconds 影响的其实是 pod 自身的 available,不过目前开源分批发布工具主要考虑的是 readiness,所以这个参数应该暂时没法干预分批发布
一种可能的方向是看看 initialDelaySeconds 能不能行,这个参数会延迟探活的启动
有关 pod availability vs. readiness 的事情,我们会结合开源工具的实际用法再考虑;实操上两个按说都该是可选择的。此回答整理自钉群“云效交付域答疑群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。