作者 | 李鹏(元毅) 来源 | Serverless 公众号 一.Knative Knative 提供了基于流量的自动扩缩容能力,可以根据应用的请求量,在高峰时自动扩容实例数:当请求量减少以后,自动缩容实例,做到自动化地节省资源成本.此外,Knative 还提供了基于流量的灰度发布能力,可以将流量的百分比进行灰度发布. 在介绍 Knative 灰度发布和自动弹性之前,先带大家了解一下 ASK Knative 中的流量请求机制. 如上图所示,整体的流量请求机制分为以下部分: 左侧是 Knativ…
在 Bookinfo 微服务的灰度发布示例 中,KubeSphere 基于 Istio 对 Bookinfo 微服务示例应用实现了灰度发布.有用户表示自己的项目还没有上 Istio,要如何实现灰度发布? 在 Ingress-Nginx (0.21.0 版本) 中,引入了一个新的 Canary 功能,可用于为网关入口配置多个后端服务,还可以使用指定的 annotation 来控制多个后端服务之间的流量分配. KubeSphere 在 2.0.2 的版本 中,升级了项目网关 (Ingress Con…
之前介绍过使用ambassador实现灰度发布,今天介绍如何使用ingre-nginx实现. 介绍 Ingress-Nginx 是一个K8S ingress工具,支持配置 Ingress Annotations 来实现不同场景下的灰度发布和测试. Nginx Annotations 支持以下 4 种 Canary 规则: nginx.ingress.kubernetes.io/canary-by-header:基于 Request Header 的流量切分,适用于灰度发布以及 A/B 测试.当…
大规模微服务场景下灰度发布与流量染色实践 https://mp.weixin.qq.com/s/UBoRKt3l91ffPagtjExmYw [go-micro]微服务协作开发.灰度发布之流量染色 - HB-技术实践 http://hbchen.com/post/microservice/2019-11-30-go-micro-service-chain/ 2019-11-30 微服务 约 1831 字  预计阅读 4 分钟 文章目录 场景 开发环境多服务.多分支协作 生产环境灰度发布 流量染色…
原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/spark/ci_cd/ 本文所述内容基于某顶级互联网公司数万节点下 Spark 的 CI 与 CD & CD 实践.为了提高本文内容的可借鉴性,隐去了公司特有内容,只保留通用部分 Spark CI 持续集成实践 CI 介绍 持续集成是指,及时地将最新开发的且经过测试的代码集成到主干分支中. 持续集成的优点 快速发现错误 每次更新都及时集成到主干分支中,并进行测试,可以快…
作者:王炜,CODING DevOps 后端开发工程师,拥有多年研发经验,云原生.DevOps.Kubernetes 资深爱好者,Servicemesher 服务网格中文社区成员.获得 Kubernetes CKA.CKAD 认证. 前言 在 Kubernetes 上的应用实现灰度发布,最简单的方案是引入官方的 Nginx-ingress 来实现. 我们通过部署两套 deployment 和 services,分别代表灰度环境和生产环境,通过负载均衡算法,实现对两套环境的按照灰度比例进行分流,进…
灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本. nginx 的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP的灰度发布. 需求:搭建准生产环境,供开发人员/运维在线上做最后的调整.如果OK,直接用rsync推送至生产环境. 条件:办公室网络出口有固定IP 解决办法: nginx 负载均衡器判断客户端IP地址, 如果是办公室IP,则反向代理到准生产环境: 如果不是,则反向代理到生产环境. 1 2 3 4 5 6 7 8 9 10…
为什么需要灰度发布 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式.在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来. 总结下一些应用场景: 微服务依赖很多组件,需要在实际环境验证 部署新功能有风险,然后可以通过导流一小部分用户实际使用,来减小风险 让特定的用户访问新版本,比如部署一个版本,只让测试使用 A/B Testing,部署两个版本,进行版本…
灰度发布,是指在黑与白之间,能够平滑过渡的一种发布方式.通俗来说,即让产品的迭代能够按照不同的灰度策略对新版本进行线上环境的测试,灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以对新版本进行测试.发现和调整问题,以保证其影响度.KubeSphere 基于 Istio 提供了蓝绿部署.金丝雀发布.流量镜像等三种灰度策略,无需修改应用的服务代码,即可实现灰度.流量治理.Tracing.流量监控.调用链等服务治理功能. 目的 本示例在 KubeSphere 容器平台中使用 Istio 官方提供的…
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版本…