我们当前的体系结构包括带有状态的多个部署,一个副本和一个Recreate策略。因此,任何所述资源的部署都会导致停机。我正在努力纠正此问题,但与此同时,对这些部署的pod规范的任何更新都会导致我们的应用程序停机。
是否可以在不触发部署的情况下更新部署的pod规范?具体来说,我想在不触发推出的情况下为上述“部署”添加一些容忍度。
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:08:12Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10+", GitVersion:"v1.10.11-gke.1", GitCommit:"5c4fddf874319c9825581cc9ab1d0f0cf51e1dc9", GitTreeState:"clean", BuildDate:"2018-11-30T16:18:58Z", GoVersion:"go1.9.3b4", Compiler:"gc", Platform:"linux/amd64"}
答案 0 :(得分:0)
仅当更改部署的pod模板(即.spec.template)(例如,模板的标签或容器图像已更新)时,才会触发部署的推出。其他更新(例如扩展Deployment)不会触发部署。
拥有单个副本的原因是什么?
使用Rolling Update Deployment
策略,您可以指定maxSurge
并在部署期间扩展部署,并在完成后缩减规模。