10. 到目前为止,基本的模板配置已经完成,接下来我们使用Azure CLI 2.0来创建虚拟机自动扩展集合:
az group create --name linuxvmssmanaged --location 'China North'
az group deployment create --name mylinuxdeployment --resource-group linuxvmssmanaged --template-file vmsslinuxmanaged.json --parameters vmsslinuxmanaged-parameters.json
11. 登陆到Azure管理界面,我们也可以看到,VMSS的存储创建完成后,点击存储属性,可以看到,当前的规模集使用的是Managed Disk,托管磁盘:
12. Azure CLI运行完成后,VMSS已经被创建,初始是2个实例在运行,使用了托管磁盘,另外我们也需要检查一下,看看创建的实例中的数据磁盘是否已经被正常格式化并正确挂载,SSH登录到实例进行价差,可以看到两个数据盘已经被挂载到了/datadisks下的disk1和disk2,说明脚本自动化正常工作:
13. VMSS最大的特性就是根据规则auto-scaling,使用新的managed disk和数据磁盘后,我们需要测试一下auto-scaling是否可以正常工作,按照我前面文章介绍的,可以使用stress工具进行加压,需要注意所有的CPU都需要有压力,并且各个实例的负载平均值需要高于设定阈值才会scale:
14, 大约10分钟后,在Azure管理界面上可以看到,虚拟机自动实例开始创建,最后自动扩展到3个实例,压力降低后达到降低阈值,实例数量又下降到了2个的最小值:
15 . 实际上,在VMSS的活动日志中也可以详细的看到这部分的活动:
这个修改和验证过程稍微有些复杂,整个过程中涉及写一个自动化脚本进行磁盘挂载和分区,模板修改成使用managed disk,API调试,中国区URL修改等等,没有现成的模板或者脚本可以直接用,我也知道大家更愿意直接使用现成的模板和脚本:)As your wish,模板和源代码放到了Github上面,有需要的同学可以直接下载使用:
https://github.com/kingliantop/azurelabs/tree/master/AzureChinaARMTemplate/VMSS-Linux-ManagedDisk