嘉宾 | 赵明山 整理 | 姚圣伟
出品 | CSDN云原生
随着K8s及云原生理念的普及,尤其是在持续部署流水线出现后,渐进式交付为互联网应用提供了基础设施和实现方法。
2022年7月27日,在由开放原子开源基金会主办的“2022开放原子全球开源峰会”上,阿里云技术专家、OpenKruise Maintainer主要贡献者赵明山(立衡)带来了《OpenKruise Rollout:灵活可插拔的渐进式发布框架》的主题演讲。
什么是渐进式发布
渐进式发布(Progressive Rollout)主要区别于全量/一次性发布,主要包括以下特点:
-
增量式的发布过程,把一次发布分为多个批次,并且可以严格控制每个批次的启动和停止;
-
实例与流量的双重维度的灰度,如金丝雀发布、A/B Testing发布、蓝绿发布;
-
阶段性的可验证性,发布的每个批次都可以验证发布的正确性及是否符合预期;
-
可暂停、可回滚、可继续、可自动化状态流转;
-
主要应用于提供Service服务的应用,而Job类型一般没有需求。
以一次版本发布为例:Version X ->Version Y
假如线上是X版本,现在需要发布到Y版本。首先会划分发布批次(如第一批只发布10个实例),然后,灰度一定规则的流量到Y版本。如淘宝在进行重大发布变革时,会采用A/B Testing的