新闻中心

浏览量:0
2021-03-14 00:23
华为云计算
大数据
RedHat
修改系统密码
Cisco
修复文件系统
修改密码
VMware
修改系统密码
Cisco
大数据
修复文件系统
华为云计算
修改密码
RedHat
VMware

热门关键词

这里有最新的公司动态,这里有最新的网站设计、移动端设计、网页相关内容与你分享

[Aliyun-ACP] 使用云监控和弹性伸缩实现弹性架构设计

收藏

实验概述

本实验会自动创建2台部署了云监控插件的ECS实例。首先,配置负载均衡实例的监听配置,创建ECS实例的自定义镜像。然后,在创建弹性伸缩服务,配置报警任务,将已创建的ECS实例加入伸缩组和负载均衡实例后端。最后,增加ECS的CPU使用率达到100%,通过弹性伸缩服务,自动新建ECS实例并添加到负载均衡实例后端。

 img1

实验目标

完成此实验后,可以掌握的能力有:

1. 创建弹性伸缩组;

2. 创建报警任务;在CPU达到指定范围时,自动弹出ECS实例;

3. 弹性伸缩服务与负载均衡服务和云监控的结合应用。

学前建议

1. 可以熟练的使用Linux基本命令进行操作

2. 了解负载均衡服务

3. 了解监控的基本指标

 

1.1 背景知识

    视频公司,游戏公司,电商公司,经常会遇到如下的场景:

·       节假日热门节目,播放点击率很高;

·       在商品特卖,或者促销活动中,大量客户访问量,无法预估业务负载情况;

·       游戏公测期间,无法预估客户访问量;

     面对如上的场景,需要一个可以根据用户的业务需求,自动调整其弹性资源的管理服务。在业务需求高峰期增长时,无需停止服务,无缝的增加计算资源。在业务量下降时,可以自动减少计算资源,从而节约成本。

     阿里云提供弹性伸缩服务,该产品可以对根据客户的业务需求,对ECS实例进行增减。用户无需提前预估业务高峰期,或者突增的业务访问量,就可以自动的分配资源。

     关于阿里云的弹性伸缩服务,其涉及的术语如下:

·       伸缩组:具有相同应用场景的ECS实例的集合。伸缩组定义了组内ECS实例数的最大值,最小值及其相关的SLB和RDS实例等属性;

·       伸缩配置:定义了弹性伸缩的ECS实例的配置信息;

·       伸缩规则:定义了具体的扩展或收缩操作,例如:移入或移出NECS实例;

·        伸缩活动:伸缩规则成功出发后,就会产生一条伸缩活动。伸缩活动主要描述伸缩组内ECS实例的变化情况;

·       伸缩触发任务:用于触发伸缩规则的任务,如定时任务,云监控的报警任务;

·       冷却时间:在同一伸缩组内,一个伸缩活动执行完成后的一段锁定时间。在这段锁定时间,该伸缩组不执行其他的伸缩活动。

 

img2

 

2.2 配置负载均衡服务

1.     正式生产环境中,一般会在使用负载均衡实例后端挂载两台或多台ECS实例。用户通过负载均衡的轮询功能,将请求分发到后端不同的ECS实例中。但是当负载均衡实例后端的ECS实例负载过大的时候,可以结合弹性伸缩服务,自动在负载均衡实例后端添加ECS实例数目。

 

2.     请通过沙箱平台,访问阿里云登录界面。在阿里云登录界面,输入本次实验分配的“阿里云账号”和“阿里云账号密码”。点击“登录”,若出现“阿里云实名认证通知”的页面,点击“暂不进行实名认证”,否则忽略。若出现“您的账号未绑定手机号”页面,则点击“下次再说”,否则忽略。

img3

若出现下面页面,点击“跳过此步骤” 。

img4

然后,点击右上角的“控制台”。

img5

3.     进入阿里云管理控制台,点击页面左上角的“产品与服务”,弹出下拉列表。依次选择“云计算基础服务”,“弹性计算”,“负载均衡”。进入负载均衡访问页面。

 img6

4.     在负载均衡的实例管理页面,顶层“地域”栏中,选择沙箱提供的“负载均衡”实例的所在的“地域”。在主界面,可以查看到一台通过平台创建的负载均衡实例。点击负载均衡实例右侧“操作”栏中的“管理”,进入此负载均衡实例的管理页面。

img7

5.     首先,配置负载均衡实例的监听规则。点击左侧栏中的“监听”,当前没有任何监听配置。点击右上角的“添加监听”,为实例创建一个新的监听配置。

说明:若负载均衡实例没有添加监听配置,则此弹性伸缩服务将无法与该负载均衡实例一起使用。

img8

 

6.    在弹出添加监听配置的对话框中,配置如下内容:

1) 前端协议[端口]:“HTTP”;80

 

2) 后端协议[端口]:“HTTP”;80

 

3) 带宽峰值:选择“配置”按钮,输入 1 M

其余为默认选项,完成点击“下一步”。

1

健康检查的状态设为“开启”,其余保持默认值就可以。完成后,点击“确定”。

说明:如果在弹性伸缩服务的伸缩组中,指定负载均衡服务,伸缩组会自动将伸缩组的ECS实例添加到指定的负载均衡实例当中。指定的负载均衡实例必须开启健康检查,否则会导致创建失败,同时加入负载均衡的ECS实例的权重默认设置为50。

img10

7.     提示“创建成功”,点击“确认”,关闭对话框。

img11

        当前监听配置的页面,新建一条状态为“运行中”的监听规则。

img12

8.     查看当前负载均衡后端ECS实例数目。点击左侧栏中的“服务器”,进入负载均衡服务器池,查看当前“已添加的服务器”列表中没有任何ECS实例。

img13

9.     至此,已完成负载均衡实例的基本配置,下一小节开始创建弹性伸缩服务的伸缩配置所需的自定义镜像。

 

 

img14

 

2.4 配置弹性伸缩服务

1.     本实验使用阿里云提供的“整体方案创建管理”的功能,该功能通过向导模式,创建整体伸缩方案。创建完整的弹性伸缩方案,需要通过如下4步完成:创建伸缩组;创建伸缩配置;添加已有ECS实例;创建报警任务。

img15 

2.     点击页面顶部的“产品与服务”,在弹出的服务列表中,依次选择“云计算基础服务”,“弹性计算”,“弹性伸缩”服务。进入弹性伸缩服务管理控制台。

 img16

3.     若弹性伸缩服务ESS管理控制台显示“尚未开通”,则点击“开通服务”。若已开通,则忽略此步骤,直接进行实验下一步。

img17

    弹出开通页面,点击“立即开通”。

 img18 

    提示开通成功后,点击“管理控制台”,返回弹性伸缩服务ESS管理控制台。

img19

4.     在弹性伸缩管理控制台中,点击左侧栏的“整体方案创建管理”。首先,创建伸缩组。配置伸缩组的基本信息如下:

地域:选择ECS实例所在“地域”;

 

伸缩组名称:lab012-group;若已存在此伸缩组,请用户自定义一个伸缩组

 

伸缩最大实例数(台):2;

伸缩最小实例数(台):1;

 

默认冷却时间(秒):0;

 

网络类型:专有网络,专有网络和虚拟交换机选择提供的选项

负载均衡:选择本实验提供的负载均衡实例。

img20

img21

5.     若弹出对话框“ESS未得到完整OpenAPI授权”,则需要在RAM中对弹性伸缩服务授权,完成授权后,才可以对弹性伸缩服务进行操作。授权结束后,重新执行上一步创建伸缩组。若没有提示,则忽略此步。点击“前往RAM控制台授权”。进入RAM的授权页面。

img22

    在云资源访问授权页面,点击“同意授权”。

img23

6.     回到创建伸缩页面,弹框中点击“关闭”。然后点击“下一步”,完成伸缩组创建后,开始创建伸缩配置,填写如下配置信息,然后点击“保存”。

配置名称:lab012-task;请注意配置名称的命名规则。

 

安全组名称:选择已创建的ECS实例所在安全组;

 

实例系列:系列II,1核1GB;弹性扩容的ECS实例与原有的ECS实例规格和系统必须一致。已创建的ECS实例的配置为1核1G;

 

公网带宽:按使用流量

 

镜像类型:自定义镜像,之前创建的镜像,如:lab_image

img24

img25

img26

 

        将已有的ECS实例加入到伸缩组以及SLB后端。点击“添加已有ECS实例到该伸缩组”。

img27

        在“未选择的ECS实例”列表中,选择“ECS实例”,然后点击“>”。ECS实例移动到“已选择的ECS实例”列表中,完成后,点击“确定”。

img28

        此时,页面中显示“添加数量”为1个。点击“下一步”,开始创建报警任务。

img29

7.     在添加自动触发任务时,选择“添加报警触发自动伸缩任务”,并填写如下的信息,然后点击“创建伸缩规则”。

任务名称:lab012-alarm;

 

统计办法:平均值,>=,80%;

 

重复几次后报警:1次;

img30

        在弹出的对话框中,“规则名称”为“lab012-rule”,“规则”调整到“2”台。完成后,点击“创建伸缩规则”。

img31

完成如上的配置后,点击“保存”。

注意:必须先点击“保存”,然后点击“去浏览”,否则报警触发任务将不会保存。

img32

        核对报警任务的信息,然后,点击右下角的“去浏览”。

注意:若弹性伸缩服务使用报警任务,则伸缩组中的ECS实例必须安装云监控旧版的插件。否则,报警任务可用,本实验中使用的ECS实例系统均已安装云监控旧版插件。

img33

8.     在预览页面中,审核当前的配置是否满足需求。确定无误后,点击“完成”。

img34

        此时,页面提示伸缩组创建成功,点击“关闭”。完成伸缩组的所有配置。返回伸缩组管理页面。

img35

9.     查看当前伸缩组中的总实例数为1。证明已添加沙箱平台创建的ECS实例到该伸缩组。

img36

        至此,已完成弹性伸缩服务的所有配置。下一小节中,开始增加ECS实例的CPU使用率,并验证当CPU的使用率超过80%的时候,弹性伸缩服务会自动添加一台相同配置的ECS实例到负载均衡实例的后端。

 

2.5 基于CPU利用率自动调整弹性计算资源

1.     通过stress压测的方式,增加ECS实例的CPU使用率,达到100%,模拟真实工作中,ECS实例的负载增大的情况。

 

2.     安装云监控 Agent。使用本实验提供的ECS服务器的“弹性IP” ,“用户”和“密码”,远程登录到ECS服务器。然后执行以下命令,在 ECS 的镜像里安装新版本的云监控 Agent 。参考下面表格按 实验资源 提供的 地域 相对应地修改 xxxxx 处的值。

说明:远程登录 Linux 系统 ECS  实例的详细步骤,请参考云中沙箱 帮助文档 。了解更多情况可以进入链接: https://help.aliyun.com/knowledge_detail/43894.html

注意:在使用报警任务之前,需要在 ECS 的镜像里安装新版本的云监控 Agent 。

# sudo bash -c "wget -e 'http_proxy=xxxxx.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(上海)

img37

3.     登录到ECS实例后,输入命令行:stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10m。通过stess工具,对ECS实例进行压测,等返回阿里云管理控制台,查看ECS实例的CPU使用率。

img38

4.     返回浏览器的弹性伸缩管理页面,点击左侧栏的“自动触发任务管理”,在下拉表中,点击“报警任务”。等待1-2分钟后,可以看到报警任务的状态从“正常”变为“报警”。点击右侧操作栏中的“查看详情”。进入报警任务的管理页面。

img39

查看ECS实例,在大约有3分钟左右的时间CPU使用率变为“100%”。

img40 

5.     点击左侧栏中的“伸缩组管理”,当前伸缩组的“总实例数目”变为“2”。证明已添加一台新的ECS实例到伸缩组。点击“管理”,进入伸缩组的管理页面。

img41

    在伸缩组的管理页面中,点击左侧栏的“伸缩活动”,查看到当前有两条伸缩活动:点击第一条伸缩活动右侧的“查看详情”,查看到伸缩活动的详细信息,通过报警任务添加一台ECS实例到伸缩组。

 img42

6.     现在,查看新添加到伸缩组的ECS实例自动加入负载均衡实例后端。点击页面顶部的“产品与服务”,在弹出下拉菜单中,点击“网络”下的“负载均衡”。进入负载均衡控制管理页面。

img43

点击负载均衡实例右侧的“管理”,进入实例管理页面。

img44

点击左侧的“服务器”,查看当前实例负载均衡实例后端,有2台ECS实例,其中用“ESS-”命名的实例为通过弹性伸缩服务添加的ECS实例。

img45

7.     至此,已成功使用云监控对ECS实例的CPU进行监控,当CPU使用率过高的时候,通过弹性伸缩服务自动添加一台ECS实例,并添加到SLB后端,无需人工操作。

 

 

2.6 清理弹性伸缩服务

1.     在真实的生产环境中,若不再使用此伸缩服务对ECS实例进行增减操作,则清理伸缩服务中的资源,避免系统再次触发伸缩活动,而产生不必要的资源和费用。

2.     由于本实验是使用“整体方案”的方式创建弹性伸缩服务。因此,仅删除伸缩组,就可以清理弹性伸缩服务。点击右上角的“产品与服务”中的“弹性伸缩”。返回弹性伸缩服务的管理控制台。

img46

3.     点击左侧栏的“伸缩组管理”,当前有一个伸缩组“lab012-group”。点击此伸缩组右侧的“删除”。此时,系统会自动清理弹性伸缩服务下的伸缩组,以及此伸缩组相关的伸缩任务,伸缩规则等。

img47

 

首页    阿里云    [Aliyun-ACP] 使用云监控和弹性伸缩实现弹性架构设计