K8s 1.18.6版本基于 ingress-nginx 实现金丝雀发布(灰度发布) 环境 软件 版本 kubernetes v1.18.6 nginx-ingress-controller 0.32.0 Rancher v2.4.5 本次实验基于 Rancher-v2.4.5 部署了1.18.6版本的k8s集群,nginx-ingress 版本为0.32.0,理论上 ingress-nginx >= 0.21.0都是可以的. 介绍 金丝雀发布:又叫灰度发布,控制产品从A版本平滑的过度到B版本…
目录 基于k8s集群部署prometheus监控ingress nginx 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署prometheus监控ingress nginx 1.背景和环境概述 本文中涉及到的环境中.prometheus监控和grafana基本环境已部署好. 在nginx ingress controller的官方文档中对监控有相应描述 https://kubernetes.github.io/ingress…
nginx+lua+redis实现灰度发布: 灰度发布是指在黑白之间能够平滑过渡的一种方式 AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来.灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现.调整问题,以保证其影响度. 灰度发布可以保证应用系统的稳定,降低产品升级影响的用户范围:也可以按照一定的策略让部分用户提前参与产品测试,从而提早获取到用户的反馈,完善应用功能 原理:使用ngi…
灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本. nginx 的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP的灰度发布. 需求:搭建准生产环境,供开发人员/运维在线上做最后的调整.如果OK,直接用rsync推送至生产环境. 条件:办公室网络出口有固定IP 解决办法: nginx 负载均衡器判断客户端IP地址, 如果是办公室IP,则反向代理到准生产环境: 如果不是,则反向代理到生产环境. 1 2 3 4 5 6 7 8 9 10…
一.灰度发布原理说明 灰度发布在百度百科中解释: 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式.AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来.灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现.调整问题,以保证其影响度. 这里的用于WEB系统新代码的测试发布,让一部分(IP)用户访问新版本,一部分用户仍然访问正常版本,其原理如图: 执行过程: 1.      当用户请求到…
upstream.conf upstream grey_1 { keepalive 1000; server localhost:8020; } upstream grey_2 { keepalive 1000; server localhost:8021; } 8020 conf #vhost conf server{ listen 8020; index index.php index.html index.do; root /var/html/webroot/grey_1; access_…
为什么需要灰度发布 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式.在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来. 总结下一些应用场景: 微服务依赖很多组件,需要在实际环境验证 部署新功能有风险,然后可以通过导流一小部分用户实际使用,来减小风险 让特定的用户访问新版本,比如部署一个版本,只让测试使用 A/B Testing,部署两个版本,进行版本…
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 之前一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和使用,本篇继续Ingress的使用,来看看如何使用Ingress实现灰度发布(金丝雀发布).此外,我也有录制一个10min+的小视频介绍蓝绿发布和金丝雀发布的基本概念,视频入口点击这里. 一.准备工作 1.1 WebAPI项目准备 首先,我们还是准备两个版本的ASP.NET Core WebAPI项目,具体项…
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式.AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来. 灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现.调整问题,以保证其影响度. 灰度发布常见一般有三种方式: Nginx+LUA方式 根据Cookie实现灰度发布 根据来路IP实现灰度发布 本文主要将讲解根据Cookie和来路IP这两种方式实现简单的灰度发布,Nginx+LUA这种…
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式.AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来. 灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现.调整问题,以保证其影响度. 灰度发布常见一般有三种方式: Nginx+LUA方式 根据Cookie实现灰度发布 根据来路IP实现灰度发布 本文主要将讲解根据Cookie和来路IP这两种方式实现简单的灰度发布,Nginx+LUA这种…