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

笔者在持续学习的过程中,得到了红帽淡成、王洪涛、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灰度发布、蓝绿发布的功能。在实际的应用场景中,往往情况更为复杂,需要考虑的因素更多。

原文发布于微信公众号 - 大魏分享(david-share)

原文发表时间:2017-02-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏iOSDevLog

Google Colab免费GPU教程

现在,你可以开发深度学习与应用谷歌Colaboratory -on的免费特斯拉K80 GPU -使用Keras,Tensorflow和PyTorch。

5395
来自专栏沈唁志

如何简单计算PHP网站是否已经最高负载

2485
来自专栏magicsoar

python下的Box2d物理引擎的配置

/******************************* I come back! 由于已经大四了,正在找工作 导致了至今以来第二长的时间内没有更新博客...

3926
来自专栏吴伟祥

MySQL基准测试 转

基准测试是  指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。例如,对计算机CPU进行浮点运算、数据访问...

1603
来自专栏CSDN技术头条

详解 NoSQL 数据库的分布式算法

系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性。这么讲使得NoSQL听起来像是一个大筐,什么都能塞进...

2409
来自专栏IMWeb前端团队

后台:nodejs 前台:vue 全栈开发 外卖平台系统

关于 一直考虑写一个功能齐全的完整Nodejs项目,但苦于没有找到合适的类型,而且后台系统无法直观的感受到,需要有一个前台项目配合,因此迟迟没有动笔。恰好前一段...

3640
来自专栏农夫安全

绕过某商业waf实现getshell

0x00 前言 目标站:http://www.xxxx.com/ Aspcms 拿后台就不说了,太多姿势了。 主要说下后台getshell(过云盾拦截) A...

4065
来自专栏FreeBuf

对利用CVE-2017-0199漏洞的病毒变种的监测与分析

一、 漏洞简介 CVE-2017-0199漏洞是一个Office远程执行代码漏洞,该漏洞利用Office OLE对象链接技术,将伪装的恶意链接对象嵌在文档中,由...

2307
来自专栏玄魂工作室

CTF实战19 渗透测试-主机信息探测

其原理是不同厂家的IP协议栈实现之间存在许多细微的差别,通过这些差别就能对目标系统的操作系统加以猜测

1321
来自专栏ImportSource

NoSQL-Quorums-仲裁

作者简介: ? 当你权衡“一致性”或“持久性”的时候,不是一个非此即彼,非黑即白的过程。一个请求中涉及的节点越多,那么我们越有可能避免不一致。这自然就引发了一个...

3705

扫码关注云+社区

领取腾讯云代金券