前文中已经详细介绍了如何配置和部署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. iOS中设置导航栏标题的字体颜色和大小

    iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参考下. 在平时开发项目的时候,难免会遇到修改导航栏字体大小和颜色的需求,一般使用自定义视图的方法,其实还存在一种方法. 方法一:(自定义视图的 ...

  2. cf D. Sereja ans Anagrams

    http://codeforces.com/contest/368/problem/D #include <cstdio> #include <cstring> #includ ...

  3. CCI_chapter 3 Stacks and Queues

    3.1Describe how you could use a single array to implement three stacks for stack 1, we will use [0, ...

  4. logstash tag使用说明

    zjtest7-frontend:/usr/local/logstash-2.3.4/config# cat stdin04.conf input { stdin { } } filter { # d ...

  5. Android AutoCompleteTextView和MultiAutoCompleteTextView使用

    Android AutoCompleteTextView和MultiAutoCompleteTextView的功能类似于百度或者Google在搜索栏输入信息的时候,弹出的与输入信息接近的提示信息: 它 ...

  6. android Service简介及启动关闭方式

    (1)Service是Android系统中的四大组件之一,和Activity是同一层次的组件:它是一种生命周期较长,没有可视化界面,运行于后台的一种服务:例如,我们听音乐可以使用Service,下载东 ...

  7. linux/unix 段错误捕获【续】

    本文为“在C/C++中捕获段错误,打印出错的具体位置”的续篇,进一步解决涉及动态链接库的情况.   背景知识: ·linux/unix下动态链接库的基本原理 ·/proc/pid/maps文件的基本格 ...

  8. 利用Connect By构造数列

    ,) yymm ;

  9. 借助Net-Speeder对服务器进行优化

          对于丢包情况较为严重的VPS,我们可以采用一些优化TCP协议的软件对服务器进行相应的优化操作,我在以前的文章中介绍过一款名叫锐速的软件,它可以很好的解决丢包问题,但是这个软件对于服务器内核 ...

  10. WebService-相关概念介绍

    WebService学习总结(二)——WebService相关概念介绍 一.WebService是什么? 1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 2. 一个跨语言.跨 ...