标签:
在Azure之前的ASM版本或者经典模式中,用户使用Azure Website,Azure Cloud Service等PAAS服务,可以实现一定程度上的自动扩展(auto scaling),但有着诸多限制和缺陷,例如只能在PAAS平台上使用,扩展周期较长,无法支持定制化镜像,无法支持Linux等等,那么在Azure上有没有一种服务,可以给予我们增强的PAAS的自动扩展能力,同时让用户能够像使用IAAS虚拟机一样有最大限度的控制能力昵?
Azure新的资源管理器(ARM)模式中推出了一项全新的服务,叫做虚拟机扩展集合(Virtual Machine Scale Sets),实现了真正的自动化扩展(auto scaling)功能,对于大并发需要自动扩展的场景提供了非常好的功能支持,例如:
在本文中描述如何通过ARM模板和Powershell,在Azure中国的平台上创建一个Linux的VMSS,实现自动化扩展。对于什么是ARM,什么是ARM模版,ARM和ASM的比较差别等等详见本人其他博客。
?
?
?
Parameters:定义你在外部要输入的参数值,比如虚拟机的大小,image的名称等
Variables:默认的一些变量,比如存储类型,网络地址,API版本等等
Resources:你所用到的系统资源和服务,比如网络,虚拟机扩展插件,负载均衡等等
?
修改成:
修改为:
?
?
修改为:
?
然后我们需要定义自动扩展的规则,在什么情况下增加实例,什么情况下降低实例,在本例子中,我们定义了处理器的PercentUserTime,每1分钟采集数据,每5分钟作为一个时间窗口,如果平均值大于60%,那么自动扩展,每次增加一个实例:
https://github.com/kingliantop/azurelabs/tree/master/AzureChinaARMTemplate/VMSS-Linux-Autoscale
比如我的参数文件如下:
标签:
原文地址:http://www.cnblogs.com/cloudapps/p/5856091.html