标签:StatefulSet Kubernetes 金丝雀 partition 更新 myapp Pod 资源
金丝雀部署 StatefulSet 控制器的资源
一、金丝雀部署
将处于暂存状态的更新操作的 partition 定位于 Pod 资源的最大索引号,即可放出一只金丝雀,由其测试第一轮的更新操作,在确认无误后通过修改 partition 属性的值更新其他的 Pod 对象是一种更为稳妥的更新操作。
StatefulSet 控制器 myapp 资源的分区号设置为 Pod 资源的最大索引号 2,将会触发 myapp-2 的更新操作:
kubectl path statefulset myapp -p '{"spec":{"updateStrategy":{"rollingUpdate":{"partition":2}}}}'
位于非更新区域内的其他 Pod 资源仍然不会更新到新的镜像版本,哪怕它们被删除后重建亦是如此。
二、分段更新
金丝雀部署,第一批更新经过测试验证通过之后,用户便可启动后续其他 Pod 资源的更新操作。
在待更新的 Pod 资源数量极少的情况下,直接将 partition 属性的值设置为 0,它将逆序完成后续所有 Pod 资源的更新。而当待更新的 Pod 资源较多时,用户也可以将 Pod 资源以线性或指数级增长的方式来分阶段完成更新操作,操作过程无非是分步更新 partition 属性值。
例如,将 myapp 控制器的分区号依次设置为 1、0 以完成剩余 Pod 资源的线性分步更新。
标签:StatefulSet,Kubernetes,金丝雀,partition,更新,myapp,Pod,资源 来源: https://www.cnblogs.com/zuoyang/p/16423498.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。