大家好,我是张晋涛。
在前面的几期中,我们介绍了 GitOps 的相关概念、部署流程及实现工具(Argo CD & FluxCD),感兴趣的小伙伴,欢迎回顾前文。本期,我们重点来介绍下,Canary -- 金丝雀发布的相关内容,在下一期中还有 Canary 实践,请多关注,谢谢。
什么是 Canary (金丝雀)部署/发布?
在进行持续交付时,我们需要一定的部署策略用于更改、升级或回滚正在运行的应用程序实例。我们常见的部署策略有 Basic, Multi-Service, Rolling, Blue/Green, Canary, A/B Testing, Shadow 等。
我们的金丝雀类似于下图中的蓝绿色示例,通过 Canary 部署并获取生产流量,然后我们可以监控一定时间(如一小时)的金丝雀健康(延迟、错误等),以决策是否继续扩大绿色部署并将所有流量路由到绿色或者将所有流量路由回蓝色服务。

图 1,10%流量将流向绿色节点