12.准备完了模板文件,我们使用Powershell来创建VMSS for Linux的自动扩展集合,首先登陆到Azure中国的ARM账号:
Login-AzureRmAccount -EnvironmentName AzureChinaCloud
13. 如果你有多个订阅的话,选择你要创建VMSS的正确订阅:
Select-AzureRmSubscription -SubscriptionId XXXXXXXXXX
14. 如果你之前没有创建过资源组,创建一个,所有自动扩展集的资源都放在这个资源组下面:
New-AzureRmResourceGroup -Name linuxvmssgroup -Location "China North"
15. 进入到你放置模板所在的目录,利用你创建的ARM模板和参数文件,创建Linux的自动扩展集合:
New-AzureRmResourceGroupDeployment -Name vmssautoscaledeployment -ResourceGroupName linuxvmssgroup -TemplateFile .\vmsslinuxsample.json -TemplateParameterFile .\vmsslinuxsample-Parameters.json
可以看到VMSS已经成功创建,所使用的OS是Ubuntu 14.04.3, 虚拟机大小是标准的A1
16. 进入到新的管理portal,https://portal.azure.cn, 选择资源组,查找你创建的linuxvmssgroup资源组,可以看到自动扩展集已经创建成功,包含自动扩展集,负载均衡器,公共IP地址,以及用于存放虚拟机的5个存储账号
点开虚拟机扩展集合mylinuxau,你可以看到在此集合中有两个虚拟机,并且自动缩放(auto scaling)是打开的,会按照规则自动缩放:
如何对自动扩展集进行管理?
在刚开始的时候我们提到VMSS提供了PAAS的自动扩展,IAAS的管理灵活性,那么我们创建了自动扩展集以后,怎么能对我的集合中的集合进行管理昵?
1.SSH登陆
对于Linux虚拟机,我们希望能够直接登陆到虚拟机内部,进行操作,那么在我们创建的VMSS中,怎么做昵?实际上我们使用了LB,在入站规则上我们做了NAT,登陆到portal,选择资源组下的负载均衡器,选择入站NAT规则,会看到我们的两个实例对外是映射端口是TCP/50000,TCP/50002:
点击我们的第一个实例,可以看到,实际上这个虚拟机的22端口是目标端口,对外映射为50000,那么我们可以使用IP地址+端口50000登录虚拟机进行管理:
打开putty,输入IP地址139.217.13.118.端口50000,你就可以正常登陆Linux,做各种操作:
2.利用Powershell来管理VMSS:当然我们可以用PS来获得VMSS相关信息,停止或者启动当前的VM:
获得VMSS的详细信息
Get-AzureRmVmss -ResourceGroupName linuxvmssgroup -VMScaleSetName mylinuxau
获得VMSS中instance的详细信息:
Get-AzureRmVmssVM -ResourceGroupName linuxvmssgroup -VMScaleSetName mylinuxau -InstanceId 0 -InstanceView
关闭当前VMSS中的某个虚拟机:
Stop-AzureRmVmss -ResourceGroupName linuxvmssgroup -VMScaleSetName mylinuxau -InstanceId 1
启动当前VMSS中的某个虚拟机:
Start-AzureRmVmss -ResourceGroupName linuxvmssgroup -VMScaleSetName mylinuxau -InstanceId 0
在后续的章节中,我会为大家介绍VMSS的基本原理,最佳实践,以及如何对VMSS进行测试和调试,敬请期待:)