深刻理解Azure自动扩展集VMSS(1)

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

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

  1. VMSS自动扩展测试及告警规则配置ide

  2. VMSS中Autoscale基本原理及诊断工具

  3. VMSS实践及建议测试

  4. VMSS手动扩展spa

  5. VMSS中使用定制化镜像设计

     

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

 

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

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

$ sudo apt-get install sysstat atsarorm

$ 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),而且经过设置告警规则,咱们能够根据获得的阈值进行相应的操做,好比发邮件告警或者触发一些预约义的操做。