深入理解Azure自动扩展集VMSS

Posted StevenLian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解Azure自动扩展集VMSS相关的知识,希望对你有一定的参考价值。

前文中已经详细介绍了如何配置和部署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的主要内容,如果未能解决你的问题,请参考以下文章

深入理解Azure自动扩展集VMSS

VMSS上用Managed Disk和Data Disk进行自动扩展

具有服务结构群集自动缩放的 VMSS

根据标记和当前电源状态解除分配 Azure VMSS

使用ARM模板部署自动扩展的Linux VMSS

使用ARM模板部署自动扩展的Linux VMSS