前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >火力全开 | 灰度发布 | 5分钟了解一个容器典型应用场景系列

火力全开 | 灰度发布 | 5分钟了解一个容器典型应用场景系列

作者头像
魏新宇
发布2018-03-27 18:07:54
1.5K0
发布2018-03-27 18:07:54
举报

笔者在持续学习的过程中,得到了红帽淡成、王洪涛、Nico等多位大师的指点,在此表示感谢。

5分钟了解一个容器典型应用场景系列篇

关于容器解决方案的概念、架构、成功案例,笔者已经分享了很多了。为了使读者能够花更短的时间,迅速感性地解容器的典型应用场景。笔者从今天开始,推出“5分钟了解一个容器典型应用场景”系列片。每次分享一个场景,采用文字描述+视频展示的方式。本系列分享内容将分别是:灰度发布、CI/CD、开发自动化、微服务、业务弹性扩展。

概念介绍

灰度发布

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

蓝绿发布

与灰度发布不同的地方是,蓝绿发布是AB test中,B上线,A下线。蓝绿发布也称热部署,是一种将用户从一个版本几乎瞬间转移到另一个版本

操作步骤

笔者展示的实验环境模拟了AB test的场景。在测试环境中,首先有个php代码库。当前版本的代码版本为V1(index.php)。通过该版本代码,部署一个V1版本的应用(网页访问输出结果为:I am VERSION 1 My Pod IP is : 172.17.0.7)。然后,将代码修改为V2,再部署一个V2版本的应用(网页访问输出结果为:I am VERSION 2 My Pod IP is : 172.17.0.6)

两个应用部署好以后:

第一步:只在router上暴露V1版本的应用。

这样,通过浏览器访问域名,得到的结果应该是V1版本的应用输出:

第二步:将router上路由的指向,从V1改到V2,用于模拟蓝绿发布。

这样,用户还访问之前的域名(http://v1-grey.192.168.137.10.xip.io/)的请求,首先是不会中断的,其次其输出的结果是V2版本应用的内容。

第三步:将V1和V2版本的应用,同时通过现有域名暴露出去,并且设置域名访问访问两个版本应用的权重,模拟灰度发布。然后用curl http://v1-grey.192.168.137.10.xip.io ,得到的访问两个版本应用的比重,与预设值是相同的。

例如,我将两个版本的应用访问权重设置为6:4。也就是60%的终端访问V2,40%的用户访问V1.

设置完毕后,通过浏览器和命令行都可以看到设置的结果(权重的设置是动态调整、即时生效的)

然后通过写一个循环,查看返回结果,与我的预设值是相同的,我们看到,持续10次对URL的访问中,6次指向了V2,4次指向了V1。达到了我们想要的效果。

操作视频

视频内容

总结

本文只是简单地展示了Openshift灰度发布、蓝绿发布的功能。在实际的应用场景中,往往情况更为复杂,需要考虑的因素更多。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大魏分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档