34.Azure創建自動伸縮虛擬機規模集(中)
接下來我將通過Powershell來使用ASWTempOS鏡像模板來創建虛擬機規模集
創建規模集之前,需使用 New-AzureRmResourceGroup 創建一個資源組。 以下示例在eastasia位置創建一個名為AutoRG的資源組
New-AzureRmResourceGroup -ResourceGroupName AutoRG
創建規模負載均衡器:
# 創建一個公網IP地址
$publicIP = New-AzureRmPublicIpAddress `
-ResourceGroupName AutoRG `
-Location eastasia `
-AllocationMethod Dynamic `
-Name ASWPublishIP
# 創建前端和後端IP池
$frontendIP = New-AzureRmLoadBalancerFrontendIpConfig `
-Name ASWFrontEndPool `
-PublicIpAddress $publicIP
$backendPool = New-AzureRmLoadBalancerBackendAddressPoolConfig -Name ASWBackEndPool
# 創建入站NAT規則
$inboundNATPool = New-AzureRmLoadBalancerInboundNatPoolConfig `
-Name "ASWSSHRule" `
-FrontendIpConfigurationId $frontendIP.Id `
-Protocol TCP `
-FrontendPortRangeStart 50001 `
-FrontendPortRangeEnd 50010 `
-BackendPort 22
# 創建一個負載均衡器
$lb = New-AzureRmLoadBalancer `
-ResourceGroupName AutoRG `
-Name ASWNLB `
-Location eastasia `
-FrontendIpConfiguration $frontendIP `
-BackendAddressPool $backendPool `
-InboundNatPool $inboundNATPool
# 在負載均衡器上創建80端口的運行狀況探測器
Add-AzureRmLoadBalancerProbeConfig -Name ASWHealthProbe `
-LoadBalancer $lb `
-Protocol tcp `
-Port 80 `
-IntervalInSeconds 15 `
-ProbeCount 2
# 在負載均衡器上創建一個80端口的負載均衡規則
Add-AzureRmLoadBalancerRuleConfig `
-Name ASWRule01 `
-LoadBalancer $lb `
-FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
-BackendAddressPool $lb.BackendAddressPools[0] `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80
# 更新負載均衡器配置
Set-AzureRmLoadBalancer -LoadBalancer $lb
這個時候可以看到門戶上已經出現了負載均衡器
接下來創建規模集以及虛擬網絡和子網:
# 這裏是我們創建一個變量來獲取我們的自定義虛擬機鏡像模板信息
$image = Get-AzureRmImage `
-ImageName ASWTempOS `
-ResourceGroupName ServersResourceGroup
# 創建一個規模集配置對象
$vmssConfig = New-AzureRmVmssConfig `
-Location eastasia `
-SkuCapacity 1 `
-SkuName Standard_A0 `
-UpgradePolicyMode Automatic
# 引用一個虛擬機鏡像(引用我們之前創建的虛擬機鏡像模板)
Set-AzureRmVmssStorageProfile -VirtualMachineScaleSet $vmssConfig -OsDiskCreateOption FromImage -ManagedDisk StandardLRS -OsDiskCaching "None" -OsDiskOsType Linux -ImageReferenceId $image.id
# 設置用於通過虛擬機進行身份驗證的信息
Set-AzureRmVmssOsProfile $vmssConfig `
-AdminUsername zjunsen `
-AdminPassword ********* `
-ComputerNamePrefix acw
# 創建一個虛擬網絡以及子網
$subnet = New-AzureRmVirtualNetworkSubnetConfig `
-Name "AutoScalingNetwork" `
-AddressPrefix 172.16.0.0/24
$vnet = New-AzureRmVirtualNetwork `
-ResourceGroupName "AutoRG" `
-Name "ASWvNet" `
-Location "eastasia" `
-AddressPrefix 172.16.0.0/16 `
-Subnet $subnet
$ipConfig = New-AzureRmVmssIpConfig `
-Name "ASWIPConfig" `
-LoadBalancerBackendAddressPoolsId $lb.BackendAddressPools[0].Id `
-LoadBalancerInboundNatPoolsId $inboundNATPool.Id `
-SubnetId $vnet.Subnets[0].Id
# 將虛擬網絡附加到配置對象
Add-AzureRmVmssNetworkInterfaceConfiguration `
-VirtualMachineScaleSet $vmssConfig `
-Name "asw-network-config" `
-Primary $true `
-IPConfiguration $ipConfig
# 使用配置對象創建伸縮規模集 (此步驟可能需要幾分鐘)
New-AzureRmVmss `
-ResourceGroupName AutoRG `
-Name AutoScalingWeb `
-VirtualMachineScaleSet $vmssConfig
圖形化可以看到創建狀態
可以看到虛擬機規模集的對外提供服務的IP地址,這個地址就是負載均衡的對外提供服務地址
負載均衡器中也按照命令創建出了運行狀況探測器
也創建出了負載均衡規則
接下來訪問我們的NLB(AutoScalingweb規模集)公網IP地址,已經可以正常提供服務了
除了公網IP地址可以訪問外,我們還可以對規模集定義了一個域名標簽autoscalingweb.eastasia.cloudapp.azure.com,點擊公共IP地址
在這裏可以輸入DNS標簽
訪問這樣的域名標簽也是可以的
到這裏虛擬機規模集創建就算完成了,下篇將給點擊介紹如何實現自動伸縮功能,並且WEB虛擬機是自動完成加入負載均衡,自動連接後端Azure文件共享對外提供WEB服務的。
34.Azure創建自動伸縮虛擬機規模集(中)