几种常见的发布策略

xawei

本文主要介绍Kubernetes中经常使用到的几种发布策略,如蓝绿发布、红黑发布、金丝雀(灰度)发布、滚动发布等。

蓝绿发布

蓝绿发布,可将用户流量从先前版本的应用逐渐转移到几乎相同的新版本中(两者均保持在生产环境中运行)。 旧版本可以称为蓝色环境,而新版本则可称为绿色环境。 一旦生产流量从蓝色完全转移到绿色,蓝色就可以在回滚或退出生产的情况下保持待机,也可以更新成为下次更新的模板。

蓝绿发布省级和回退速度较快,缺点则是如果v2版本有问题,切回v1版本,此时可用资源减少了一半,一般不适于在业务高峰期使用这种发布策略,以避免可能出现服务过载。

红黑发布

红黑发布与蓝绿发布有点类似,也是通过两个环境完成软件版本的升级,将当前生产流量指向的环境称为红环境,新版本环境称为黑环境。红黑发布英文叫A/B testing,流程是:

  1. 申请黑色集群Group2,部署新服务;
  2. 负载均衡直向Group2;
  3. 删除Group1

与蓝绿发布不同,红黑发布在过程中会需要两倍的资源。

金丝雀发布

所谓金丝雀发布,也即是灰度发布的一种。在发布过程中,生产环境同时存在v1和v2两个版本,一部分用户使用v1,另一部分用户则使用v2,逐渐过渡。

滚动发布

滚动发布则是在金丝雀发布基础上进行了改进,是一种自动化程度较高的发布方式,在升级过程中,先启动一批次的新版本,再停止旧版本。在确认运行正常后,再继续,直至完成版本的全量更新。

滚动发布是目前较为主流的发布方式。

参考资料

  1. https://www.redhat.com/zh/topics/devops/what-is-blue-green-deployment
  2. https://blog.container-solutions.com/kubernetes-deployment-strategies
  3. https://www.cnblogs.com/hunternet/p/14306105.html
  • 标题: 几种常见的发布策略
  • 作者: xawei
  • 创建于 : 2020-12-13 10:05:03
  • 更新于 : 2024-07-27 14:11:44
  • 链接: https://xawei.xyz/2020/12/13/几种常见的发布策略/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
此页目录
几种常见的发布策略