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進行測試和調試,敬請期待:)