前文中已经详细介绍了如何配置和部署Azure的虚拟机扩展集VMSS进行自动扩展,但在实际使用过程当中,用户会出现更进一步使用的一些问题,VMSS基本扩展原理及怎么简单调试?如何进行手动扩展?怎么使用自定义镜像?在设计的时候有哪些最佳实践和考量等等。

本文通过测试自动扩展功能开始,逐步介绍如下主题:

  1. VMSS自动扩展测试及告警规则配置
  2. VMSS中Autoscale基本原理及诊断
  3. VMSS实践及建议
  4. VMSS手动扩展
  5. VMSS中使用定制化镜像

VMSS自动扩展测试及邮件告警规则配置

在你初始创建了VMSS之后,默认情况下的扩展集中的虚拟机个数是你在模板本文中指定的虚拟机容量,在之前的测试中默认情况下,创建的虚拟机为2台。

  1. 创建完成后,ssh登陆到虚拟机,安装压力测试软件stress和CPU监控软件sar:

$ sudo apt-get install sysstat atsar

$ sudo apt-get install stress

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

    选择你创建的VMSS名称,选择"概述",可以看到有一个CPU百分比:

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

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

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

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

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

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

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

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

从上述测试可以看到,VMSS的自动扩展功能会严格按照我们定义的阈值进行增加VM(Scale out)或者减少VM的操作(Scale in),并且通过设置告警规则,我们可以根据得到的阈值进行相应的操作,比如发邮件告警或者触发一些预定义的操作。

深入理解Azure自动扩展集VMSS(1)的更多相关文章

  1. 深入理解Azure自动扩展集VMSS(3)

    在实际使用过程当中,使用VMSS有一些最佳实践的建议和限制,便于你在做自动扩展设计的时候进行考虑: 关于VMSS 如果你使用的是系统镜像,一个扩展集中虚拟机数量不能超过100 无论是在ASM还是ARM ...

  2. 深入理解Azure自动扩展集VMSS(2)

    VMSS中Auto Scale基本原理及诊断 在前面的介绍中,我们看到通过定义规则可以实现虚拟机扩展集的auto scale,那么在后台执行上VMSS的扩展依赖于哪些组件,出现问题(比如自动扩展没有发 ...

  3. 使用ARM和VMSS创建自动扩展的web集群

    在很多的商业场景中,用户的访问,峰值时间都是很难预测的,尤其是做一些市场推广活动和促销的时候,到底部署什么规模的web集群合适,这一直是个问题,部署过量会造成高成本和资源不必要的浪费,部署过少,如果到 ...

  4. 使用ARM模板部署自动扩展的Linux VMSS(2)

    12.准备完了模板文件,我们使用Powershell来创建VMSS for Linux的自动扩展集合,首先登陆到Azure中国的ARM账号: Login-AzureRmAccount -Environ ...

  5. Azure vm 扩展脚本自动部署Elasticsearch集群

    一.完整过程比较长,我仅给出Azure vm extension script 一键部署Elasticsearch集群的安装脚本,有需要的同学,可以邮件我,我给你完整的ARM Template 如果你 ...

  6. 使用ARM模板部署自动扩展的Linux VMSS(1)

    在Azure之前的ASM版本或者经典模式中,用户使用Azure Website,Azure Cloud Service等PAAS服务,可以实现一定程度上的自动扩展(auto scaling),但有着诸 ...

  7. Kubernetes 1.12公布:Kubelet TLS Bootstrap与Azure虚拟机规模集(VMSS)迎来通用版本号

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/82880341 https: ...

  8. OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling) 支持

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  9. Redis复制与可扩展集群搭建

    抄自:http://www.infoq.com/cn/articles/tq-redis-copy-build-scalable-cluster 讨论了Redis的常用数据类型与存储机制,本文会讨论一 ...

随机推荐

  1. ios7中使用scrollview来横向滑动图片,自动产生偏移竖向的偏移 问题

    ios7中使用scrollview来横向滑动图片,自动产生偏移竖向的偏移 问题     如图红色为scrollview的背景色,在scrollview上加了图片之后,总会有向下的偏移 设置conten ...

  2. windows bat命令编写大全

    1 echo 和 @ @  #关闭单行回显echo off #从下一行开始关闭回显 @echo off  #从本行开始关闭回显.一般批处理第一行都是这个 echo on  #从下一行开始打开回显 ec ...

  3. JVM JMM

  4. codility上的问题 (23)Chi 2012

    这个题也比较有意思.意思是给定一个数组A,长度为M,里面都是正整数,代表每块地形的高度.现在要测试一种加农炮,给定一个炮弹的高度H, 如果存在最小的I,满足0 < I <  M,满足A[I ...

  5. bzoj1149

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1149 水题..... 直接BFS. #include<cstdio> #inclu ...

  6. 模仿TMALL搜索,下拉提示 优化 用户keypress停顿200毫秒间隔时,在执行异步取数据操作 通过underscore的函数debounce来实现

  7. Web Service工作原理

    Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的 ...

  8. Counting Squares_hdu_1264(矩阵).java

    Counting Squares Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. UVA 825 Walking on the Safe Side(记忆化搜索)

      Walking on the Safe Side  Square City is a very easy place for people to walk around. The two-way ...

  10. [Regex Expression] Use Shorthand to Find Common Sets of Characters

    In this lesson we'll learn shorthands for common character classes as well as their negated forms. v ...