企业运维训练营之云上网络原理与实践课程 - 第四讲配套实验:使用ALB实现灰度发布

简介: 灰度发布(又称为金丝雀发布)是一种平滑过渡的发布方式,将老版本应用与新版本应用同时部署在环境中,让一部分用户继续使用老版本应用,一部分用户开始使用新版本应用,然后根据用户使用情况调整新版本流量占比,逐步把所有用户都迁移到新版本应用。

企业运维训练营之云上网络原理与实践课程

第四讲配套实验:使用ALB实现灰度发布

 

视频地址:

https://developer.aliyun.com/learning/course/991/detail/14982

 

一、实验概述

 

灰度发布(又称为金丝雀发布)是一种平滑过渡的发布方式,将老版本应用与新版本应用同时部署在环境中,让一部分用户继续使用老版本应用,一部分用户开始使用新版本应用,然后根据用户使用情况调整新版本流量占比,逐步把所有用户都迁移到新版本应用。

 

实验网址

https://developer.aliyun.com/adc/scenario/exp/765f8b2b28554f518e2eaf0c1ddcda32

 

二、实验目的

 

  • 掌握ALB监听配置
  • 掌握ALB实现灰度发布

 

三、实验步骤

 

1.  创建资源。

 

a.  在体验实验室页面左侧,单击创建资源,创建所需资源。

b.  在页面左侧导航栏中,单机云产品资源列表,查看本次实验资源相关信息。

 

说明:

资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:IP地址、用户名和密码等。

 

2.  了解实验架构。

实验之前需要理解相关理论概念,然后了解整体的实验架构:

 image.png

 

3.  实验准备。

 

注:后台会默认创建好对应的云产品资源,这里仅了解和核实环境和相关配置。

不同学员会有属于自己的ECS实例,请以实际配置中实例的id为准。系统默认资源自动创建过程需要1~3分钟。完成实验资源的自动创建后,您可以在“云产品资源”列表查看已创建的资源信息,例如:IP地址、用户名和密码等(注意:本实验中两台ECS密码相同)。

如下仅供学员了解和参考,不需要去手动创建(如了解,可跳过):


本实验环境已经提前创建ALB实例和2台可以访问公网的ECS实例。ALB已经创建了两个服务器组ALB-APP-V1ALB-APP-V2,将ECS1加入服务器组ALB-APP-V1,将ECS2加入服务器组ALB-APP-V2,监听端口都为80端口。


说明:用于本实验演示所创建的ALB公网域名是alb-1ta6kknir3839pxmip.cn-hangzhou.alb.aliyuncs.com

 image.png

用于本实验演示中两台ECS内网分别是172.16.1.163172.16.41.238

用于本实验演示中两台ECS公网分别是47.100.x.x47.98.x.x

image.png

 

4.  在两台ECS内安装Nginx软件。

 

  • 使用yum安装Nginx应用:

yum -y install nginx

 

  • 安装成功后执行如下两个命令,启用nginx

systemctl start nginx

systemctl enable nginx

 

  • 执行如下命令查看Nginx运行状态是否为running

systemctl status nginx

image.png

 

5.  在两台服务器上部署新老两套应用。

 

ECS1上部署老版本应用,在ECS2上部署新版本应用。

 

/usr/share/nginx/html 目录下创建alb.html文件,本实验以不同的html文件内容区分新旧版本应用来演示。

ECS1文件内容为:APP-Old

ECS2文件内容为:APP-New

 

ECS1

image.png

 

ECS2

image.png

 

6.  创建服务器组,添加服务器。

 

由于资源创建权限限制,本步骤后台已经提前帮助学员完成,已创建两个服务器组ALB-APP-V1ALB-APP-V2,将ECS1加入服务器组ALB-APP-V1,将ECS2加入服务器组ALB-APP-V2,监听端口都为80端口。

 

请学员点击服务器组,核实是否已正确添加ECS和对应的端口。

 image.png

image.png

 

7.  创建HTTP监听,监听端口为80

 

  • 点击ALB实例,进入ALB实例页面;

 image.png

 

  • 点击 监听 标签栏 ,然后点击创建监听;

 image.png

 

  • 创建HTTP监听,监听端口为80,添加ALB-APP-V1服务器组为监听服务器组;

 image.png

image.png

 

8.  访问老版本应用。

 

浏览器输入ALB分配的域名加上对应的html页面进行访问,示例URLhttp://alb-xxx.cn-hangzhou.alb.aliyuncs.com/alb.html,此时可以访问到老版本业务;

 image.png

 

 

9.  配置监听转发规则,基于HTTP标头实现灰度发布。

 

  • 点击对应监听,进入监听界面;

image.png

 

  • 点击转发规则标签页,然后点击插入新规则;

 image.png

 

  • 插入新规则,选择条件为“HTTP标头,输入键为:User-Agent,值为:*Firefox*,则转发到ALB-APP-V2服务器组,此服务器组为新版本应用;

 image.png

 

  • 使用firefox浏览器访问到新版本应用,使用其他浏览器访问依然是老版本应用;

 image.png

 

10. 配置监听转发规则,基于不同服务器组实现灰度发布。

 

  • 删除上一步创建的转发规则,插入新转发规则,匹配条件是路径为/alb.html80%请求转发到老服务器,20%请求转发到新服务器;

 image.png

 

  • 使用Firefox浏览器访问业务网站,访问10次,有8次访问到旧版本应用,2次访问到新版本应用,大概是4:1的比例。

 image.png

 

 

 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
9月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
9月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
10月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
814 11
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
736 0
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
425 21
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
435 2
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
1021 3
|
负载均衡 应用服务中间件 nginx
解决nginx配置负载均衡时invalid host in upstream报错
在Windows环境下,配置Nginx 1.11.5进行负载均衡时遇到问题,服务无法启动。错误日志显示“invalid host in upstream”。检查发现上游服务器列表中,192.168.29.128的主机地址无效。负载均衡配置中,两个服务器地址前误加了"http://"。修正方法是删除上游服务器列表和proxy_pass中的"http://"。问题解决后,Nginx服务应能正常启动。
1280 4
解决nginx配置负载均衡时invalid host in upstream报错
|
负载均衡 算法 应用服务中间件
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
494 1
|
运维 负载均衡 算法
SLB与NGINX的异同是什么
SLB与NGINX的异同是什么
2574 2

热门文章

最新文章