我想知道如果我将--update-period(默认值为1m0s)减少到大约5s(甚至1s)会有什么潜在的问题?我看了几个视频片段,主持人似乎暗示短时间内但不解释原因是个坏主意。
我之所以想缩短它的原因是我们有时更喜欢快速而有点风险的过渡,而不是安全稳定的过渡。据我所知,滚动更新的作用是:
while the goal has not been achieved {
scale-up the new version
sleep as specified by --update-period
scale-down the old one
check deadline
}
从上面的流程来看,我没有看到长时间不睡觉的问题。截止日期检查基于超时配置,因此,更改--update-period的唯一结果似乎是更频繁地迭代循环。
我还没有完全理解的一件事是如何执行缩减,但我认为它仍然会进行正常终止,例如发送SIGTERM并等待30秒直到最后将SIGKILL发送到pod中的进程。
仅供参考,我正在使用Google容器引擎。
答案 0 :(得分:0)
应该不长,这只是一个预防措施,以防pod转换到Running状态但几秒后崩溃。如果您的更新周期很短,您将继续部署最终不稳定的广告连播,并且不会给整个过程留出足够的时间来注意。
如果您愿意承担风险,那么更新期很短。
此外,如果您想要真正快速可靠的部署,则应检查Deployment API。滚动更新逻辑发生在服务器端,提高了可靠性和速度。