实验概述
本实验会自动创建2台部署了云监控插件的ECS实例。首先,配置负载均衡实例的监听配置,创建ECS实例的自定义镜像。然后,在创建弹性伸缩服务,配置报警任务,将已创建的ECS实例加入伸缩组和负载均衡实例后端。最后,增加ECS的CPU使用率达到100%,通过弹性伸缩服务,自动新建ECS实例并添加到负载均衡实例后端。
实验目标
完成此实验后,可以掌握的能力有:
1. 创建弹性伸缩组;
2. 创建报警任务;在CPU达到指定范围时,自动弹出ECS实例;
3. 弹性伸缩服务与负载均衡服务和云监控的结合应用。
视频公司,游戏公司,电商公司,经常会遇到如下的场景:
- 节假日热门节目,播放点击率很高;
- 在商品特卖,或者促销活动中,大量客户访问量,无法预估业务负载情况;
- 游戏公测期间,无法预估客户访问量;
面对如上的场景,需要一个可以根据用户的业务需求,自动调整其弹性资源的管理服务。在业务需求高峰期增长时,无需停止服务,无缝的增加计算资源。在业务量下降时,可以自动减少计算资源,从而节约成本。
阿里云提供弹性伸缩服务,该产品可以对根据客户的业务需求,对ECS实例进行增减。用户无需提前预估业务高峰期,或者突增的业务访问量,就可以自动的分配资源。
关于阿里云的弹性伸缩服务,其涉及的术语如下:
- 伸缩组:具有相同应用场景的ECS实例的集合。伸缩组定义了组内ECS实例数的最大值,最小值及其相关的SLB和RDS实例等属性;
- 伸缩配置:定义了弹性伸缩的ECS实例的配置信息;
- 伸缩规则:定义了具体的扩展或收缩操作,例如:移入或移出N个ECS实例;
- 伸缩活动:伸缩规则成功出发后,就会产生一条伸缩活动。伸缩活动主要描述伸缩组内ECS实例的变化情况;
- 伸缩触发任务:用于触发伸缩规则的任务,如定时任务,云监控的报警任务;
- 冷却时间:在同一伸缩组内,一个伸缩活动执行完成后的一段锁定时间。在这段锁定时间,该伸缩组不执行其他的伸缩活动。
实验实施
2.1 实验资源
2.2 配置负载均衡服务
1. 正式生产环境中,一般会在使用负载均衡实例后端挂载两台或多台ECS实例。用户通过负载均衡的轮询功能,将请求分发到后端不同的ECS实例中。但是当负载均衡实例后端的ECS实例负载过大的时候,可以结合弹性伸缩服务,自动在负载均衡实例后端添加ECS实例数目。
输入资源提供的“子用户名称”和“子用户密码”登录。
2.登录到界面
3. 进入阿里云管理控制台,点击页面左上角的“产品与服务”,弹出下拉列表。依次选择“云计算基础服务”,“弹性计算”,“负载均衡”。进入负载均衡访问页面。
4. 在负载均衡的实例管理页面,顶层“地域”栏中,选择沙箱提供的“负载均衡”实例的所在的“地域”。在主界面,可以查看到一台通过平台创建的负载均衡实例。点击负载均衡实例右侧“操作”栏中的“管理”,进入此负载均衡实例的管理页面。
5. 首先,配置负载均衡实例的监听规则。点击左侧栏中的“监听”,当前没有任何监听配置。点击右上角的“添加监听”,为实例创建一个新的监听配置。
说明:若负载均衡实例没有添加监听配置,则此弹性伸缩服务将无法与该负载均衡实例一起使用。
6. 在弹出添加监听配置的对话框中,配置如下内容:
1) 后端协议[端口]:“HTTP”;80
2) 开启监听带宽限速:输入 1 M
其余为默认选项,完成点击“下一步”。
后端服务器中选择默认服务器组,点击继续添加,选择平台创建好的ECS实例,配置端口:80 权重:50,完成监听配置。
健康检查的状态设为“开启”,其余保持默认值就可以。完成后,点击“下一步”。
说明:如果在弹性伸缩服务的伸缩组中,指定负载均衡服务,伸缩组会自动将伸缩组的ECS实例添加到指定的负载均衡实例当中。指定的负载均衡实例必须开启健康检查,否则会导致创建失败,同时加入负载均衡的ECS实例的权重默认设置为50。
7. 提示“创建成功”,点击“确认”,关闭对话框。
当前监听配置的页面,新建一条状态为“运行中”的监听规则。
8. 至此,已完成负载均衡实例的基本配置。
2.3 配置弹性伸缩服务
1. 本实验使用阿里云提供的“整体方案创建管理”的功能,该功能通过向导模式,创建整体伸缩方案。创建完整的弹性伸缩方案,需要通过如下4步完成:创建伸缩组;创建伸缩配置;添加已有ECS实例;创建报警任务。
2. 点击页面顶部的“产品与服务”,在弹出的服务列表中,依次选择“弹性计算”,“弹性伸缩”服务。进入弹性伸缩服务管理控制台。
3. 若弹性伸缩服务ESS管理控制台显示“尚未开通”,则点击“开通弹性伸缩”。若已开通,则忽略此步骤,直接进行实验下一步。
弹出开通页面,点击“立即开通”。
提示开通成功后,点击“管理控制台”,返回弹性伸缩服务ESS管理控制台。
4. 在弹性伸缩管理控制台中,点击左侧栏的“整体方案创建管理”。首先,创建伸缩组。配置伸缩组的基本信息如下:
地域:选择ECS实例所在“地域”;
伸缩组名称:lab012-group;若已存在此伸缩组,请用户自定义一个伸缩组
伸缩最大实例数(台):2;
伸缩最小实例数(台):0;
默认冷却时间(秒):0;
网络类型:专有网络,专有网络和虚拟交换机选择提供的选项
负载均衡:选择本实验提供的负载均衡实例。
完成以上配置,点击提交。
- 回到伸缩组页面,点击伸缩组id,点击左侧栏中的组内实例配置信息来源,可以查看到已经创建好的伸缩配置。
点击ECS实例列表,选择手动创建,点击“添加已有实例”,选择实例后然后点击“>”。ECS实例移动到“已选择的ECS实例”列表中,完成后,点击“确定”。
此时,返回伸缩组页面看到总实例数为1。下面点击创建伸缩规则。
在弹出的对话框中,“规则名称”为“lab012-rule”,“规则”调整到“2”台。完成后,点击“创建伸缩规则”
创建完成后,可以在伸缩规则列表查看创建完成的伸缩规则。
7. 在添加自动触发任务时,选择“报警任务”,然后点击“创建报警任务”。
任务名称:lab012-warning;
统计办法:平均值,>=,80%;
重复几次后报警:1次;
报警触发规则:lab012-rule;
注意:若弹性伸缩服务使用报警任务,则伸缩组中的ECS实例必须安装云监控旧版的插件。否则,报警任务不可用,本实验中使用的ECS实例系统均已安装云监控旧版插件。
8. 查看当前伸缩组中的总实例数为1。证明已添加沙箱平台创建的ECS实例到该伸缩组。
至此,已完成弹性伸缩服务的所有配置。下一小节中,开始增加ECS实例的CPU使用率,并验证当CPU的使用率超过80%的时候,弹性伸缩服务会自动添加一台相同配置的ECS实例到负载均衡实例的后端。
2.4 基于CPU利用率自动调整弹性计算资源
1. 通过stress压测的方式,增加ECS实例的CPU使用率,达到100%,模拟真实工作中,ECS实例的负载增大的情况。
2. 安装云监控 Agent。使用本实验提供的ECS服务器的“弹性IP” ,“用户”和“密码”,远程登录到ECS服务器。然后执行以下命令,在 ECS 的镜像里安装新版本的云监控 Agent 。参考下面表格按 实验资源 提供的 地域 相对应地修改 xxxxx 处的值。
注意:在使用报警任务之前,需要在 ECS 的镜像里安装新版本的云监控 Agent 。
进行安装:
sudo bash -c "wget -e 'http_proxy=xxxxxx.aliyun.com:3128' -O /tmp/cloudmonitor.tar.gz 'http://cms-download.aliyun.com/release/1.1.24/linux64/agent-linux64-1.1.24-package.tar.gz' && \
mkdir /usr/local/cloudmonitor && \
tar -xf /tmp/cloudmonitor.tar.gz -C /usr/local/cloudmonitor && \
/usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh install && \
/usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh start"
xxxxx | 地域 |
bjcmsproxy | 华北2(北京) |
hzcmsproxy | 华东1(杭州) |
qdcmsproxy | 华北1(青岛) |
szcmsproxy | 华南1(深圳) |
shcmsproxy | 华东2(上海) |
4. 返回浏览器的弹性伸缩管理页面,点击左侧栏的“自动触发任务管理”,在下拉表中,点击“报警任务”。等待1-2分钟后,可以看到报警任务的状态从“正常”变为“报警”。点击右侧操作栏中的“查看详情”。进入报警任务的管理页面。
查看ECS实例,在大约有3分钟左右的时间CPU使用率超过“80%”。
5. 点击左侧栏中的“伸缩组管理”,当前伸缩组的“总实例数目”变为“2”个。证明已添加一台新的ECS实例到伸缩组。点击“管理”,进入伸缩组的管理页面。
在伸缩组的管理页面中,点击左侧栏的“伸缩活动”,查看到当前有两条伸缩活动:点击第一条伸缩活动右侧的“查看详情”,查看到伸缩活动的详细信息,通过报警任务添加一台ECS实例到伸缩组。
6. 现在,查看新添加到伸缩组的ECS实例自动加入负载均衡实例后端。点击页面顶部的“产品与服务”,在弹出下拉菜单中,点击“网络”下的“负载均衡”。进入负载均衡控制管理页面。
点击负载均衡实例右侧的“管理”,进入实例管理页面。
点击“默认服务器组”,查看当前实例负载均衡实例后端,有2台ECS实例,其中用“ESS-”命名的实例为通过弹性伸缩服务添加的ECS实例。
7. 至此,已成功使用云监控对ECS实例的CPU进行监控,当CPU使用率过高的时候,通过弹性伸缩服务自动添加一台ECS实例,并添加到SLB后端,无需人工操作。
标签:架构设计,负载,伸缩,运维,弹性,点击,实例,ECS,均衡 From: https://blog.51cto.com/lyx888/6215407