k8s的deployment更新策略


1.滚动更新策略

滚动升级策略会允许集群存在新旧版本,可能会对应用存在服务访问问题;

注意点:

Deployment控制器的滚动更新操作并非在同一个ReplicaSet控制器对象下删除并创建Pod资源,而是将它们分置于两个不同的控制器之下:旧控制器的Pod对象数量不断减少的同时,新控制器的Pod对象数量不断增加,直到旧控制器不再拥有Pod对象,而新控制器的副本数量变得完全符合期望值为止;
maxUnavailable:表示最大不可用pod数量,可以是整数或者百分比;
maxSurge:表示可超过预期值的pod数量,可以是整数或者百分比;
为了保存版本升级的历史,需要在创建Deployment对象时于命令中使⽤“--record”选项。"kubectl apply -f myapp-deploy.yaml --record";
适用情况:一些无状态应用,允许多个版本存在访问,需要快速回滚;
 

2.重建策略

重建策略会在创建新策略之前删除所有现有容器集,Kubernetes 先终止当前版本中的所有容器,然后在旧容器删除时同时启动所有新容器,不会有 2 种版本容器同时运行,这对服务使用者来说更简单

一般建议在开发环境使用该策略;

3.蓝绿发布(通过修改label,或者是结合istio)

4.金丝雀发布9(通过修改label,或者是结合istio)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM