首页 > 代码库 > 使用ARM模板部署自动扩展的Linux VMSS(2)

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

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进行测试和调试,敬请期待:)

 


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