如何用istio实现应用的灰度发布
Istio为用户提供基于微服务的流量治理能力。Istio允许用户按照标准制定一套流量分发规则,并且无侵入的下发到实例中,平滑稳定的实现灰度发布功能。
基于华为云的Istio服务网格技术,使得灰度发布全流程自动化管理:
- 灰度版本一键部署,流量切换一键生效
- 配置式灰度策略,支持流量比例、请求内容(Cookie、OS、浏览器等)、源IP
- 一站式健康、性能、流量监控,实现灰度发布过程量化、智能化、可视化
Istio服务网格为应用治理提供的灰度发布功能,稳定高效地推动企业应用的迭代升级。用户无需使用繁琐的命令行配置,而是通过清晰友好的图形界面,轻松直观地完成灰度发布整个过程(如图1)。灰度发布内置金丝雀、蓝绿、A/B Testing等典型灰度发布功能,下面以金丝雀发布为例介绍如何使用Istio服务进行一次灰度发布。

Figure 1 灰度版本发布流程
假设,用户已经拥有了一个稳定运行的应用,以Bookinfo程序为例,用户通过【应用管理】下的【应用部署】功能已经部署了Bookinfo程序(如图2)。

Figure 2 Bookinfo示例程序
1. 创建金丝雀发布任务
点击【应用管理】下的【灰度发布】栏,可以查看进行中的发布任务、历史发布任务和创建新的发布任务(如图3)。点击“金丝雀发布”卡片上的“创建”按钮,跳转至“创建发布任务”界面,选择灰度发布组件reviews,填写发布任务名称、版本号和版本描述,并点击“创建”按钮。

Figure 3 灰度发布任务卡片

Figure 4 创建灰度发布任务
2. 部署灰度版本
灰度版本会继承当前线上版本的所有配置,如资源限制、环境变量等,并默认会选择一个最新的镜像版本。用户只需最少量的输入即可,如编辑待部署的灰度版本的实例数量和实例的镜像配置(包括镜像版本和镜像高级设置),点击“部署灰度版本”按钮,一键式部署版本(如图5)。

Figure 5 部署灰度版本
3. 查看灰度版本状态
当用户配置好灰度策略后,可以通过界面实时监控灰度版本的状态,具体包括实例的健康监控信息、性能监控信息和启动日志。待版本启动进度达到100%时,“配置灰度策略”按钮被激活,可点击跳转至下一步。

Figure 6 查看灰度版本状态
4. 配置灰度策略
金丝雀发布支持两种策略:“基于流量比例发布”和“基于请求内容发布”。“基于流量比例发布”,用户可以为两个版本更改实例数和流量配比,可根据需求将灰度版本的流量配比逐步增大并进行“策略下发”
“基于请求内容发布”目前支持基于Cookie内容,自定义Header,操作系统和浏览器的规则约束,只有满足规则约束的访问流量才可访问到灰度版本
策略下发后,多次访问Bookinfo应用,可以看到灰度版本与默认版本的访问界面交替出现(如图9和图10)。

Figure 9 Bookinfo默认版本访问界面

Figure 10 Bookinfo灰度版本访问界面
5. 监测灰度运行状态
点击进入“监测灰度运行状态”,通过查看原版本和灰度版本的实时流量监控(请求每秒访问次数、请求时延)和健康监控状态(POD状态、CPU使用率和物理内存使用率)来确定灰度策略的执行情况(如图11)。

Figure 11 监测灰度运行状态
如果用户认为灰度版本可以上线使用,可以在灰度版本卡片内点击“接管所有流量”按钮。用户确保灰度版本可以稳定运行并决定替换原版本,则点击原版本卡片的“版本下线”按钮,结束灰度发布,完成版本升级(如图12)。此后如果再次访问Bookinfo应用,则只会访问到灰度版本(如图10)。

Figure 12 在历史记录中查看已完成的发布任务
华为Istio服务的灰度发布功能,使您的灰度发布过程更加轻松易行。这个一站式的发布平台,通过内置的灰度发布流程引导用户非常方便地完成一个灰度发布的过程,使得原本繁琐又略带危险性的操作变得非常容易。更多内容,欢迎体验华为云Istio服务。
如何用istio实现应用的灰度发布的更多相关文章
- idou老师教你学Istio 18 : 如何用istio实现应用的灰度发布
Istio为用户提供基于微服务的流量治理能力.Istio允许用户按照标准制定一套流量分发规则,并且无侵入的下发到实例中,平滑稳定的实现灰度发布功能. 基于华为云的Istio服务网格技术,使得灰度发布全 ...
- Istio最佳实践:在K8s上通过Istio服务网格进行灰度发布
Istio是什么? Istio是Google继Kubernetes之后的又一开源力作,主要参与的公司包括Google,IBM,Lyft等公司.它提供了完整的非侵入式的微服务治理解决方案,包含微服务的管 ...
- k8s+istio:流量控制之灰度发布
通过Kubernetes+Istio的流量控制实现灰度发布,主要演示通过流量权重实现蓝绿,通过http自定义头实现金丝雀 准备环境 k8s和istio不想自己装的话可以在云上买个按量付费集群,用完即删 ...
- 【从小白到专家】收官!Istio技术实践之九:路由控制与灰度发布
本期是Istio技术实践专题的最后一个模块,主题是Istio的路由控制与灰度发布.上一期我们讲到,虚拟服务(Virtual Service)以及目标规则(Destination Rule)是 Isti ...
- Istio 太复杂?KubeSphere基于Ingress-Nginx实现灰度发布
在 Bookinfo 微服务的灰度发布示例 中,KubeSphere 基于 Istio 对 Bookinfo 微服务示例应用实现了灰度发布.有用户表示自己的项目还没有上 Istio,要如何实现灰度发布 ...
- 基于 Istio 与 Kubernetes 对应用进行灰度发布与 Tracing
灰度发布,是指在黑与白之间,能够平滑过渡的一种发布方式.通俗来说,即让产品的迭代能够按照不同的灰度策略对新版本进行线上环境的测试,灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以对新版本进行测试 ...
- 干货分享|使用 Istio 实现灰度发布
Kubernetes 作为基础平台,提供了强大的容器编排能力.但是在其上部署业务和服务治理上,仍然会面对一些复杂性和局限性.在服务治理上,已经有许多成熟的 ServiceMesh 框架用于扩充其能力, ...
- idou老师教你学Istio :如何用istio实现监控和日志采集
大家都知道istio可以帮助我们实现灰度发布.流量监控.流量治理等功能.每一个功能都帮助我们在不同场景中实现不同的业务.那Istio是如何帮助我们实现监控和日志采集的呢? 这里我们依然以Bookinf ...
- 采用轻量ServiceMesh实现灰度发布的实践
软件总会有缺陷的,解决问题的同时往往会引入新的问题,关键是看这些问题是否在我们的控制范围内,“灰度发布”就是让问题受控的方法之一. 前言 我们的 CTO 经常说:“研发团队最首要的任务是提供稳定的服务 ...
随机推荐
- 10、SpringBoot-CRUD登陆拦截
1.前端页面的设置 index.html <input type="text" class="form-control" name="usern ...
- 4.spriing:Bean的生命周期/工厂方法配置Bean/FactoryBean
1.Bean的生命周期 scope:singleton/prototype 1)spring容器管理singleton作用的生命周期,spring能够精确知道Bean合适创建,何时初始化完成,以及何时 ...
- Linux磁盘分区,挂载
分区基础知识 分区的方式: 1) mbr分区: 1.最多支持四个主分区 2.系统只能安装在主分区 3.扩展分区要占一个主分区 4.MBR最大只支持2TB,但拥有最好 ...
- [转]C# 指针之美
将C#图像库的基础部分开源了(https://github.com/xiaotie/GebImage).这个库比较简单,且离成熟还有一段距离,但它是一种新的开发模式的探索:以指针和非托管内存为主的C ...
- iOS应用启动原理图解 及ARC强弱引用
iOS应用启动原理图解(红色箭头表示strong强引用,绿色箭头代表weak若引用) 只要将UI控件拖到Storyboard里控制器的大view上,Xcode会自动将这些控件以强引用的形式加入到sel ...
- NopCommerce 3.4中商品详情页面单选框、复选框的美化
先上图给大家看看效果,点这里打开网站(后期可能会找不到这个商品,现在再测试阶段) 现在你能看到的这个页面中,尺寸.文本描述是单选框(属性是我乱写的名字),上门安装是复选框.效果就看到这里,请君跳过图片 ...
- java文件系统中的的NIO与IO
java从jdk1.4后就引入了java NIO机制: NIO的显著特点就是通道(channel).缓冲(buffer).选择器(selector),NIO机制中添加了传统I/O机制中没有的非阻塞调用 ...
- 用HTML编写迪士尼乐园页面
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/html"><head lang="e ...
- RBG颜色对照表:有网址
RBG颜色对照表 大家都懂的RBG颜色对照表,想做一个有个性和美观的网页,风格是必须要有的,那么多姿多彩的颜色必然是装饰网页的一簇鲜花,为了方便查找比对颜色,就做了这个 网址为: http://too ...
- iOS 杂笔-26(苹果禁用热更新)
iOS 杂笔-26(苹果禁用热更新) 苹果爸爸禁用热更新小伙伴们有什么想说的吗? 苹果爸爸禁用热更新小伙伴们有什么想说的吗? 苹果爸爸禁用热更新小伙伴们有什么想说的吗?