深入理解Azure自动扩展集VMSS(1)
前文中已经详细介绍了如何配置和部署Azure的虚拟机扩展集VMSS进行自动扩展,但在实际使用过程当中,用户会出现更进一步使用的一些问题,VMSS基本扩展原理及怎么简单调试?如何进行手动扩展?怎么使用自定义镜像?在设计的时候有哪些最佳实践和考量等等。
本文通过测试自动扩展功能开始,逐步介绍如下主题:
- VMSS自动扩展测试及告警规则配置
- VMSS中Autoscale基本原理及诊断
- VMSS实践及建议
- VMSS手动扩展
- VMSS中使用定制化镜像
VMSS自动扩展测试及邮件告警规则配置
在你初始创建了VMSS之后,默认情况下的扩展集中的虚拟机个数是你在模板本文中指定的虚拟机容量,在之前的测试中默认情况下,创建的虚拟机为2台。
- 创建完成后,ssh登陆到虚拟机,安装压力测试软件stress和CPU监控软件sar:
$ sudo apt-get install sysstat atsar

$ sudo apt-get install stress

- 在你的生产环境中,你可能需要知道你的当前虚拟机集合的工作负载情况,一个非常有用的功能就是自动告警,你可以设置当某个指标的负载大于阈值的时候,给你发送邮件,或者触发一个操作,通过这个功能我们也可以了解通过自动扩展,你的工作负载的压力是否缓解,具体操作如下:
选择你创建的VMSS名称,选择"概述",可以看到有一个CPU百分比:

单击CPU百分比,选择"添加警报",在度量值选择"CPU user time",阈值50:


系统采集的周期最短为5分钟,留为默认值,可以选择将告警信息发送给账户所有者或者指定其他邮件,你也可以定义一个webhook地址,触发相应的操作,点击确定完成配置:

- 现在使用stress为虚拟机加压,并使用sar监控测虚拟机CPU负载,可以看到,在加压工具作用下,CPU负载始终保持在80%以上,按照auto scale的设置,当这种负载持续5分钟后就会触发自动扩展操作:

- 加压超过5分钟的时候,根据我们设置的规则,你会收到一封Azure的邮件,提示你的应用负载超过阈值,发生报警:

- 我们登陆到portal,选择虚拟机扩展集,可以看到虚拟机自动扩展开始,新的虚拟机被启动,并按照规则逐渐增加:


- 当我们停掉压力测试工具,或者压力低于阈值的时候也会收到一封提示邮件提醒我们压力告警已经解除:

- 在Azure的管理界面上,打开虚拟机扩展集,大约5分钟的时间,你也会看到,由于负载低于我们设置的阈值,auto scale的scale in开始工作,开始停止并删除虚拟机,每次删除一个,最终会保持最小值一个:


- 通过自动扩展的活动日志,你也可以看到当前进行自动扩展的详情:

从上述测试可以看到,VMSS的自动扩展功能会严格按照我们定义的阈值进行增加VM(Scale out)或者减少VM的操作(Scale in),并且通过设置告警规则,我们可以根据得到的阈值进行相应的操作,比如发邮件告警或者触发一些预定义的操作。
深入理解Azure自动扩展集VMSS(1)的更多相关文章
- 深入理解Azure自动扩展集VMSS(3)
在实际使用过程当中,使用VMSS有一些最佳实践的建议和限制,便于你在做自动扩展设计的时候进行考虑: 关于VMSS 如果你使用的是系统镜像,一个扩展集中虚拟机数量不能超过100 无论是在ASM还是ARM ...
- 深入理解Azure自动扩展集VMSS(2)
VMSS中Auto Scale基本原理及诊断 在前面的介绍中,我们看到通过定义规则可以实现虚拟机扩展集的auto scale,那么在后台执行上VMSS的扩展依赖于哪些组件,出现问题(比如自动扩展没有发 ...
- 使用ARM和VMSS创建自动扩展的web集群
在很多的商业场景中,用户的访问,峰值时间都是很难预测的,尤其是做一些市场推广活动和促销的时候,到底部署什么规模的web集群合适,这一直是个问题,部署过量会造成高成本和资源不必要的浪费,部署过少,如果到 ...
- 使用ARM模板部署自动扩展的Linux VMSS(2)
12.准备完了模板文件,我们使用Powershell来创建VMSS for Linux的自动扩展集合,首先登陆到Azure中国的ARM账号: Login-AzureRmAccount -Environ ...
- Azure vm 扩展脚本自动部署Elasticsearch集群
一.完整过程比较长,我仅给出Azure vm extension script 一键部署Elasticsearch集群的安装脚本,有需要的同学,可以邮件我,我给你完整的ARM Template 如果你 ...
- 使用ARM模板部署自动扩展的Linux VMSS(1)
在Azure之前的ASM版本或者经典模式中,用户使用Azure Website,Azure Cloud Service等PAAS服务,可以实现一定程度上的自动扩展(auto scaling),但有着诸 ...
- Kubernetes 1.12公布:Kubelet TLS Bootstrap与Azure虚拟机规模集(VMSS)迎来通用版本号
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/82880341 https: ...
- OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling) 支持
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- Redis复制与可扩展集群搭建
抄自:http://www.infoq.com/cn/articles/tq-redis-copy-build-scalable-cluster 讨论了Redis的常用数据类型与存储机制,本文会讨论一 ...
随机推荐
- epoll函数及三种I/O复用函数的对比
epoll函数 #include <sys/epoll.h>int epoll_create(int size)int epoll_ctl(int epfd, int op, int fd ...
- Adt 配置注释模板
点击Window->Preferences->Java->Code Style->Code Templates,如下图所示: 选中,点击右侧的Edit进行编辑.
- Log4j MDC Tomcat下报异常org.apache.log4j.helpers.ThreadLocalMap
严重: The web application [/qdgswx] created a ThreadLocal with key of type [org.apache.log4j.helpers.T ...
- Android系统服务-简介
http://blog.csdn.net/chenyafei617/article/details/6577907 Introduction 我们知道Android系统服务挺多的,做程序时经常会用到, ...
- 智能卡安全机制比较系列(六) TimeCOS
TimeCOS是握奇公司推出的智能卡操作系统,也可以说是国内早期自己开发的为数不多的几款COS之一.当然随着后来国内公司对于CPU卡开发的投入,其他公司的COS产品也纷纷推出. 其实从握奇的TimeC ...
- 使用NUnit进行项目的单元测试
using System; using System.Collections; using System.Collections.Generic; using NUnit.Framework; nam ...
- VS调试异常代码 异常:HRESULT: 0x80070057 (E_INVALIDARG) 的处理
碰到这个异常的原因很偶然: 现象:Solution在ReBuild过程中断电了,来电恢复了,重析编译整个Solution不报错,但在浏览页面时始终无法正常浏览,而在design的视图中,每个aspx的 ...
- samsungGalaxyS4USB驱动
http://www.samsung.com/cn/support/usefulsoftware/KIES/JSP
- 今天弄了整整一天DCloud
开发一个新闻移动客户端 起先用appcan.apiCloud,最后选择了DCloud: MUI文档看了n久,js代码一上来不很适应编码风格,一堆括号弄得头大: 数据库由爬虫程序将新闻页面数据爬出来: ...
- 第33讲 UI组件_进度条ProcessBar和消息队列处理器handler
第33讲UI组件_进度条ProcessBar和消息队列处理器handler 1. 进度条ProcessBar 一个可视化的进度指示器,代表正在执行的耗时任务.可以为用户展示一个进度条,表示正在执行的任 ...