开发者学堂课程【企业运维之弹性计算原理与实践:【视频】-《CMS&ESS》】学习笔记(二),与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1039/detail/15319
【视频】-《CMS&ESS》
内容介绍:
一、CMS
二、ESS
三、演示
三、演示
1.ESS 结合 CMS 自动弹性伸缩
这里只是提供演示,目前没有实验环境可以做,目的是为了更加了解配置过程以及原理,先来打开控制台,首先创建一台基座的服务,需要先有一台业务的服务器创建好以后再部署web服务,这里创建都使用按量的方式,是正常创建的流程,系统选择阿里云 Linux,VPC 可以随便选择一个默认,服务器是否需要公网要根据大家的业务自行决定,在这里创建的,需要公网,等服务器启动以后在服务上做基础的配置,最简单的是装一个 NGINX,保证服务能够起来就可以统一使用平台进行登录,远程连接有workbench,等待两三分钟就可以完全启动起来,如果连接不上,可以查看是什么问题导致连接不成功,先查看一下放没放完全组,安全组刚刚选择的是已经存在的安全组,不知道这个安全组是否有什么特殊的规则还没有连接上去,这时可以查看前面提到过的实力连接不上可以查看 VNC 是什么状态,VNC 在首次使用时需要重建密码,这个实力已经启动起来了,在试一下可能还在初始化的过程中
还在初始化,说明已经登录成功了,现在简单的装一个ABC,做一个最简单的verb服务将服务设置成可以自动启动,因为要保证镜像开启的机器默认能够启动服务,启动以后要查看能不能访问,其实就是简单的NGINX
这就说明已经可以访问到了,NGINX监听已经启动好了,简单的verb服务已经搭建好了,这种情况下在对实力自定义镜像,因为系统环境比较小没有做太大的改动,数据是非常快的,先让这个地方进行创建镜像,在操作别的动作,因为在伸缩组还需要SLB,业务请求都是通过SLB进来的,所以要建立SLB,先去控制台创建SLB,SLB有两种,一种是LLB一种是CLB在网络训练营时讲解过,这里使用CLB就可以,地区选择成都,计算方式选择按量计费,选择公网的方式,因为要做一些测试要对外提供一些访问,这样SLB就创建好了,创建好以后要做基础的配置,将刚才连接的机器加到SLB后面,通过SLB确保能访问业务,是在SLB中做的简单配置,添加监听,用TCP或者http都是可以的,这里使用简单一点的TCP,监听80端口,直接使用默认服务器组,这里会列出来能够添加到SLB服务器的列表接选择刚才的机器就可以,然后选择到后端的哪个端口这里选择80端口,这样监听就配置好了,然后查看使用SLB 的IP是不是也能访问到,是可以访问到的,在这里也可以验证NGINX
可以用SLB的IP访问,这样就是进来了已经通过SLB访问到后端的服务器了,链路已经开通,电路开通以后再去配置弹性伸缩,这时快照已经完成了,相当于自定义镜像已经完成。
现在开始配置弹性伸缩,先创建伸缩组,这里选择从零创建因为对伸缩组比较熟悉,
名字可以随便命名,伸缩类型可以支持ECI,ECI不在此次课程范围内不过多赘述,伸缩组中伸缩配置的来源可以选择已有实力或者模板也有从零开始,一般习惯使用从零开始因为对这些配置比较了解,可以从0开始做一些配置,如选择从已有ESS在扩容时基于某台ECS按照ECS相同配置进行创建,启动模板是ESS的功能可以创建很多启动模板比如针对ABC三个业务可以每个业务做自定义启动模板,模板中包含实力规格,带宽这些配置,比较方便的做法是某一个业务要启动时直接找到对应的启动模板点击创建实例不用像刚才在控制台一个个选配置,一般选择从零开始因为刚才镜像已经做好了,这里有一个移除的策略,移除的策略是删除最早伸缩配置实例或者先筛选出这部分实例进行移除,在从结果中最早创建的实例这里可以进行选择,在移除时先删除什么后删除什么,也可以先不用选,这个过程是哪些活动是暂停的,有时会遇到伸缩活动没执行,这时可以查看一下是不是扩容流程暂停了,伸缩组保护是开启以后伸缩组不能删除除非将其关闭,用来防止伸缩组被恶意删除,可以选择实例数,实力数最小可以选择一,最大可以选择三台这里只是测试,组内期望实力可以写成2,网络运行可以直接按照默认的网络,扩容策略有这几种成本优化,自定义组合,均衡分部优先级策略刚才已经见过,这里选择自定义组合方式,组内实力最小台数选择一台,按量实力占比例是创建的实例中按量实力所占比例,计算时不包括组内最小含量实力数对应的按量实例,这里使用默认值,实力回收模式可以在实力回收的时候松容时立马释放掉或者直接停机移出实力不会被释放只是处于停机状态,刚才所讲的停机节省模式现在称之为停机回收就是停机不收费模式,这里选择释放模式因为是初始环境,如果业务中没有保留数据的需求也可以选择释放模式,释放组要与VPC做关联,交换机可以选择两个,这里选择a和b两个交换机,稍后使用这两个交换机创建实例,关联SLB使用刚才创建好的直接选用默认服务器组就好,RDS这里没有这样简单的服务是没有用到数据库的暂时先不使用,将规则伸缩组先创建好。
创建完以后,刚刚就提示了要创建配置,默认创建出来的是停用状态可以点击进去查看,点击进去以后可以看到刚才的配置都在里面,最小期望等等在里面都可以看到,下一步要添加伸缩配置
这是类似于购买的界面,这里选择第一个规格,可以选择多个规格,因为可以支持多规格和多可用区,刚才选择了2核4G和4核8G的,优先级先满足上面4G存在就扩展成4G。4G不存在,就扩展成下面的规格,还可以选择更多的规格可以根实实际情况进行选择,建议选择更多实力规格,因为减少暂无所选规格资源的风险,这里可能会给一些推荐可以根据自己业务需要判断是否需要推荐的方式,镜像可以选择刚才的自定义镜像,其他的都可以使用默认值,公网IP也有勾选上,安全组根据业务需要自行选择,系统配置只是给一个提示,密钥一般情况下是绑定密钥对所以这里没有设置密码,使用镜像预设密码就可以,像预设密码是刚才在做镜像时机器的密码,将配置确认以后保存,然后点击启用配置,提示启用配置以后要启用伸缩组
这里看到有实力列表,下面要将刚刚已有的机器加到实力已有列表中,这样基本的一些配置已经完成了,完成以后可以查看伸缩组现在是有一台实例,已经有两台正在加入中了,因为刚刚设置的期望值是三台,会按照期望值加,有一台是手动加的,另外两台是自动扩上去的,自动扩要将实力扩出来以及加入到SLB后面,可以看一下SLB后面的默认服务器组,现在还只有一台没有加完,因为这个过程还要经历创建ESS一系列动作,先进行后面的配置,要配置组内的一些监控,要满足什么样的指标以后再做扩容这就是伸缩规则,伸缩规则创建一个测试的因为是演示这里使用简单规则,简单规则是增加,减少,调整多少台例如增加一台,冷却时间不是必填的,再增加一个缩容的规则,业务恢复的时候要缩到一台,规则创建好以后再创建报警任务,测试规则选择CPU使用率,统计周期可以设置15秒或者一分钟,这里设置15秒,因为比较方便,使用率平均达到80%触发三次以后就执行规则,执行的是刚才创建的两台,达到80%以后希望能够扩容。再创建一个报警任务,CPU使用率平均低于30%,采集周期是15秒三次以后执行缩容,整个的情况都已经配置完了
在这里可以看到伸缩活动,这里可以看到刚刚添加的实力,能够看到有两台实力创建了,是为了期望的实力数量而创建的,根据期望的数量调整总数量调整到三加了两台机器,这些是详细的配置过程。也可以查看组内监控,现在组的监控还没有出来,查看一下云监控上面的数据,要稍微等一下,看是不是数据上传的慢一点,还没有加载进来查看一下原因
才看到这里有冷却周期,有一个活动被拒绝了为什么会将三改到二因为刚才有缩容规则,使用率低于百分之多少会执行缩容,缩容时有冷却时间,扩容完以后不用再执行别的伸缩活动,默认服务组没有出来,是因为没有被加进来,现在手动扩一下查看,实力改为四台期望实例改为四台
现在就有伸缩活动在执行了,已经有一台在加入中了,为了稍后为大家演示要触发规则,再将规则进行调整一下,将最大实力整到五台期望实力还是四台,留一台扩容的空间,刚才ECS已经登陆上去了,可以在上面跑脚本将CPU打满,因为现在两台CPU已经是满负荷的状态了可以再观察一段时间,等待监控数据传上来以后能否做自动伸缩扩容
现在这里已经可以看到实力监控的信息了,CPU内存已经能够观测到当前的数据,需要再观察一段时间,因为刚才设置的检测周期是15秒,上报上来三次以后才会触发异常,再去查看SLB
这个实力是加载进来的,因为可能选错了SLB,要加到另一个SLB,很多可能名字是相同的,但是其实不是一个东西,这里用ID进行区分,因为ID是唯一的,可能新扩容才能加进去,稍等一会,压缩以后看另一台能不能加进去
查看监控数据,黄颜色这条最大已经达到CPU使用率百分之百了,伸缩活动是删除实力被执行了,再等待一下告警那一条还没有执行过来,平均值还没有上去查看一下为什么平均值才是25%,因为现在有四台机器只打开一台,组内CPU整体的使用率才是25%是没有出发的,这是想要触发可以移几台机器出去,可以将实力期望数改为一台就会自动将余3台移除,这是已经进行缩容了,会缩三台出去,缩容以后可以查看监控将会从25%变到百分之八九十
现在已经上去了,是23了说明已经移走一台了,是根据组内做的平均值,要关注这一点,如果组内机器特别多可能看到使用率上不去,刚才说的监控指标其实是平均值上去的,冷却周期有一点影响演示,查看是否能够关闭冷却时间,这时已经在执行了因为冷却周期被拒绝了
把一变成二,做了扩容动作,里面包含的伸缩规则,可以查看一下神作规则对应的是哪一条
执行了这一台增加实力的动作,这就是扩容,已经出发过了,可以观察一下,后面可能还会再执行一次
这时平均值就上去了,已经达到了百分之百,告警会触发,伸缩活动行扩容动作,因为刚才的机器被拒绝掉了,现在手动执行一下,执行完成以后可以查看SLB中就可以看到实力了,系统加进去的自动完成,整个流程大概就是演示的这样,这次的演示不提供后面的实验,大家先了解配置的过程就可以,因为后面资源的问题实验可能没办法实现
现在服务器已经自动加到SLB后面了,现在请求还是请求的SLB,SLB负责将流量分发到后面不同的机器,演示就是这样的流程。
2.回顾
主要两个方向,一个是 CMS,其中讲到了云监控的概念,主机监控,主机监控中强调了操作系统监控和基础监控的区别以及哪些情况需要使用主机监控,告警配置,告警通知方式,云监控的数据采集是使用agent进行采集的,Agent如何进行安装也有讲到,云监控以及告警的通知还有Verb hook可以配置到自己的业务上去完成自定义业务操作,也可以回调到钉钉,将告警推知到钉钉群。另一个是ESS,其中讲解了 ESS 是什么,弹性伸缩是什么,弹性伸缩各个组件,括伸缩组伸缩配置伸缩规则以及伸缩规则以及都有什么作用,刚刚已经做了基础的演示看看这些都是如何使用的,伸缩配置的原理和流程,伸缩方式告警方式,动态预测,手动执行等一些伸缩方式,根据业务需求可以做伸缩定时等,ESS和CMS结合的演示,这就是课程大概的框架。