灰度发布使用背景最近公司一直在推进DevOps,主要目标是减少对个人的依赖,降低团队之间的损耗,在保证质量的前提下,快速交付价值。在实际执行过程中表现出来的就是服务拆分粒度尽可能细,服务每次上线功能尽可能少,发布节奏尽可能快; 服务必须做到可灰度、可监控、可回滚。至于监控先暂且不聊,如何做到灰度发布升级以及回滚呢?整个PaaS平台是基于Kubernetes进行建设,Kubernetes资源对象De
原创
2021-05-25 08:49:31
1335阅读
背景介绍某些情况下,我们在使用Kubernetes作为业务应用的云平台,想要实现应用的蓝绿部署用来迭代应用版本,用lstio太重太复杂,而且它本身定位于流控和网格治理;Ingress-Nginx在0.21版本引入了Canary功能,可以为网关入口配置多个版本的应用程序,使用annotation来控制多个后端服务的流量分配。Ingress-Nginx-AnnotationCanary功能介绍如果想启
翻译
2021-04-01 21:25:32
550阅读
点击上方 "编程技术圈"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!每日英文The past has been frozen up, just put them...
转载
2021-05-28 15:28:19
339阅读
背景介绍某些情况下,我们在使用Kubernetes作为业务应用的云平台,想要实现应用的蓝绿部署用来迭代应用版本,用lstio太重太复杂,而且它本身定位于流控和网格治理;Ingress-Nginx在0.21版本引入了Canary功能,可以为网关入口配置多个版本的应用程序,使用annotation来控制多个后端服务的流量分配。Ingress-Nginx-Annotation Canary 功能介绍如果
转载
2021-04-20 15:52:13
191阅读
日常工作中我们经常需要对服务进行版本更新升级,为此我们经常使用到的发布方式有滚动升级、分批暂停发布、蓝绿发布以及灰度发布等不同的发布操作。
转载
2021-07-09 11:32:14
436阅读
在日常的工作中,我们会经常对应用进行发版升级,在互联网公司尤为频繁,主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布、灰度发布。滚动更新:依次进行新旧替换,直到旧的全部被替换为止。蓝绿发布:两套独立的系统,对外提供服务的称为绿系统,待上线的服务称为蓝系统,当蓝系统里面的应用测试完成后,用户流量接入蓝系统,蓝系统将称为绿系统,以前的绿系统就可以销毁。灰度发布:在一套集群中存在
背景信息灰度及蓝绿发布是为新版本创建一个与老版本完全一致的生产环境,在不影响老版本的前提下,按照一定的规则把部分流量切换到新版本,当新版本试运行一段时间没有问题后,将用户的全量流量从老版本迁移至新版本。其中AB测试就是一种灰度发布方式,一部分用户继续使用老版本的服务,将一部分用户的流量切换到新版本,如果新版本运行稳定,则逐步将所有用户迁移到新版本。本文将介绍在K8S集群中如何通过Nginx Ing
原创
精选
2022-11-27 00:58:04
552阅读
灰度发布是一种常见的服务滚动升级或 A/B 测试策略。在新版本服务的限...
原创
2022-11-30 19:52:07
180阅读
微信公众号搜索 DevOps和k8s全栈技术 ,即可关注公众号,也可扫描文章最后的二维码关注公众号,每天会分享技术文章供大家阅读参考哈~前言Ingress-Nginx是一个K8S ing...
转载
2022-02-28 16:08:00
1101阅读
- nginx.ingress.kubernetes.io/canary-by-header:基于 Request Header 的流量切分,适用于灰度发布以及 A/B 测试。当 Request Header 设置为 always 时,请求将会被一直发送到 Canary 版本;当 Request Header 设置为 never时,请求不会被发送到 Canary 入口;对于任何其他 Header
转载
2019-08-28 09:13:35
1560阅读
前言在 Kubernetes 上的应用实现灰度发布,最简单的方案是引入官方的 Nginx-ingress 来实现。我们通过部署两套 deployment 和 services,分别代表灰度环境和生产环境,通过负载均衡算法,实现对两套环境的按照灰度比例进行分流,进而实现灰度发布。通常的做法是当项目打包新镜像后,通过修改 yaml 文件的镜像版本,执行 kubectl apply 的方式来更新服务。如
转载
2021-04-28 09:51:13
356阅读
2评论
Ingress-Nginx是一个K8S ingress工具,支持配置Ingress Annotations来实现不同场景下的灰度发布和测试。NginxAnnotations 支持以下几种C...
转载
2022-02-28 15:44:06
284阅读
灰度发布是一种常见的服务滚动升级或A/B测试策略。在新版本服务正式发布前,可以部署少量的新版本服务和上个版本共存,用部分生产流量测试新版本的功能和特性。如果新版本反馈良好,则可以渐进地提高新版本的比例或者全部替换成新版本,如果有问题也能够及时撤回,不至于造成太大范围的影响。目前,原生容器发布基本都是使用deployment,通过给deployment和service灵活配置labels,可以实现一
原创
精选
2020-06-12 11:12:57
3156阅读
我理解的灰度发布,主要是按照一定策略选取部分用户,让他们先行体验新版本的应用,通过收集这部分用户对新版本应用的反馈以及对新版本功能、性能、稳定性等指标进行评论,进而决定继续放大新版本投放范围直至全量升级或回滚至老版本。灰度发布流程图1.1定义目标及早获得用户的意见反馈,完善产品功能,提升产品质量让用户参与产品测试,加强与用户互动降低产品升级所影响的用户范围初次发布给少量用户— 发现问题希望用户及时
之前,我们谈到冠军/挑战者试验是如何在同一个决策点上比较多个实现策略。这次,我想谈谈该技术的另一种应用。使用同一种架构,同一种思路,在生产环境中测试和更新决策逻辑。这不是为了评估策略的业务表现,而是为了在生产环境中逐步发布、逐步测试,也叫灰度发布。为什么要灰度发布?
&nbs
1.灰度测试灰度测试,就是在某项产品或应用正式发布前,选择特定人群试用,逐步扩大其试用者数量,以便及时发现和纠正其中的问题。1.1具体步骤:确定自己的目标;选择策略:要根据自己产品的规模和功能的多样性来确定互联网灰度发布试用用户的规模和发布的频率,以得出比较全面的结果。对用户进行筛选:用户的选择一定要具有代表性,要选择一部分的新用户和一部分的老用户来交替使用产品。对用户的筛选包括用户特征、用户数量
这个时候就可以利用 Nginx Ingress 基于 Header 或 Cookie 进分比将请求路由到 Canary Ingress 中指定的服务。
按照一定策略选取部分用户,让他们先行体验新版本的应用,通过收集这部分用户对新版本应用的反馈(如:微博、微信公众号留言或者产品数据指标统计、用户行为的数据埋点)以及对新版本功能、性能、稳定性等指标进行评论,进而决定继续放大新版本投放范围直至全量升级或回滚至老版本。1、什么是灰度发布,有哪些好处?答:灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B test
什么是灰度发布? 灰度发布,又名金丝雀发布,或者灰度测试,是指在黑与白之间能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布是对某一产品的发布逐步扩大使用群体范围,也叫灰度放量。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调