1. 程式人生 > >34.Azure創建自動伸縮虛擬機規模集(中)

34.Azure創建自動伸縮虛擬機規模集(中)

雲計算 雲平臺

接下來我肯定是需要利用之前創建的ASWTempOS鏡像模板來創建虛擬機規模集,故圖形化的界面是沒法搞了,只能通過Powershell,在此之前我先把上面通過門戶創建的虛擬機規模集刪除掉、負載均衡刪除掉、虛擬×××掉、創建虛擬機規模集時自動創建的存儲賬戶刪除掉。

接下來我將通過Powershell來使用ASWTempOS鏡像模板來創建虛擬機規模集

創建規模集之前,需使用 New-AzureRmResourceGroup 創建一個資源組。 以下示例在eastasia位置創建一個名為AutoRG的資源組

New-AzureRmResourceGroup -ResourceGroupName AutoRG

-Location eastasia

技術分享圖片

創建規模負載均衡器:

# 創建一個公網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創建自動伸縮虛擬機規模集(中)