一文看懂ingress nginx实现灰度发布和蓝绿发布过程

背景信息
灰度及蓝绿发布是为新版本创建一个与老版本完全一致的生产环境,在不影响老版本的前提下,按照一定的规则把部分流量切换到新版本,当新版本试运行一段时间没有问题后,将用户的全量流量从老版本迁移至新版本。

其中AB测试就是一种灰度发布方式,一部分用户继续使用老版本的服务,将一部分用户的流量切换到新版本,如果新版本运行稳定,则逐步将所有用户迁移到新版本。

本文将介绍在K8S集群中如何通过Nginx Ingress Controller基于服务权重的流量来实现应用服务的灰度发布。

环境
需要在一套k8s集群部署两套应用,上线后,再删掉其中一套。

优点:节省资源

缺点:浪费人力

条件好的情况下:建议部署两套K8s,通过最外层流量负载均衡两套k8s实现灰度发布。

点击参考阿里云官网​

架构如下

一文看懂ingress nginx实现灰度发布和蓝绿发布过程_第1张图片

实现注解实现蓝绿发布与灰度发布

  • canary-*注解方式:使用​​canary-*​​​ Annotation配置蓝绿发布与灰度发布,​​canary-*​​ Annotation是社区官方实现的灰度发布方式。

第一步:灰度发布

步骤&

你可能感兴趣的:(nginx,kubernetes,运维)