Självstudie: Skapa och hantera en VM-skalningsuppsättning med Azure PowerShell
Med en vm-skalningsuppsättning kan du distribuera och hantera en uppsättning virtuella datorer. Under livscykeln för en VM-skalningsuppsättning kan du behöva köra en eller flera hanteringsuppgifter. I den här självstudiekursen får du lära du dig att:
- Skapa en resursgrupp
- Skapa en VM-skalningsuppsättning
- Skala ut och in
- Stoppa, starta och starta om virtuella datorinstanser
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Azure Cloud Shell
Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.
Så här startar du Azure Cloud Shell:
Alternativ | Exempel/länk |
---|---|
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. | |
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. | |
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. |
Så här använder du Azure Cloud Shell:
Starta Cloud Shell.
Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.
Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.
Välj Retur för att köra koden eller kommandot.
Skapa en resursgrupp
En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. En resursgrupp måste skapas innan en VM-skalningsuppsättning. Skapa en resursgrupp med kommandot New-AzResourceGroup. I det här exemplet skapas en resursgrupp med namnet myResourceGroup i regionen EastUS.
New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"
Resursgruppens namn anges när du skapar eller ändrar en skalningsuppsättning under den här självstudien.
Skapa en VM-skalningsuppsättning
Först anger du ett administratörsanvändarnamn och lösenord för virtuella datorer med Get-Credential:
$cred = Get-Credential
Skapa nu en VM-skalningsuppsättning med New-AzVmss. För att distribuera trafik till flera virtuella datorinstanser så skapas även en lastbalanserare. Lastbalanseraren innehåller regler för att distribuera trafik på TCP-port 80 och tillåta fjärrskrivbordstrafik på TCP-port 3389 och PowerShell-fjärrkommunikation på TCP-port 5985:
Viktigt!
Från och med november 2023 kommer VM-skalningsuppsättningar som skapats med PowerShell och Azure CLI som standard att vara flexibla orkestreringsläge om inget orkestreringsläge har angetts. Mer information om den här ändringen och vilka åtgärder du bör vidta finns i Icke-bakåtkompatibla ändringar för VMSS PowerShell/CLI-kunder – Microsoft Community Hub
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-Location "EastUS" `
-Credential $cred
Det tar några minuter att skapa och konfigurera alla skalningsuppsättningsresurser och virtuella datorinstanser. För att distribuera trafik till flera virtuella datorinstanser så skapas även en lastbalanserare.
Visa de virtuella datorinstanserna i en skalningsuppsättning
Om du vill visa en lista över virtuella datorinstanser i en skalningsuppsättning använder du Get-AzVM på följande sätt:
Get-AzVM -ResourceGroupName "myResourceGroup"
Följande exempelutdata visar två virtuella datorinstanser i skalningsuppsättningen:
ResourceGroupName Name Location VmSize OsType ProvisioningState
----------------- ---- -------- ------ ------ -----------------
myResourceGroup myScaleSet_instance1 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance2 eastus Standard_DS1_v2 Windows Succeeded
Om du vill visa ytterligare information om en specifik VM-instans använder du Get-AzVM och anger namnet på den virtuella datorn.
Get-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
ResourceGroupName : myresourcegroup
Id : /subscriptions/resourceGroups/myresourcegroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1
VmId : d27b5fde-d469-4087-b08f-87d0bd8df786
Name : myScaleSet_instance1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
VirtualMachineScaleSet : {Id}
TimeCreated : 11/16/2022 11:02:02 PM
Skapa en skalningsuppsättning med en virtuell datorinstans av en viss storlek
När du skapade en skalningsuppsättning i början av självstudien, angavs en standard virtuell dator-SKU på Standard_D1_v2 för de virtuella datorinstanserna. Du kan ange en annan vm-instansstorlek med parametern -VMSize
för att ange en VM-instansstorlek på Standard_F1.
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-VMSize "Standard_F1" `
-Location "EastUS" `
-Credential $cred
Ändra kapaciteten för en skalningsuppsättning
När du skapade en skalningsuppsättning distribuerades två VM-instanser som standard. Om du vill öka eller minska antalet virtuella datorinstanser i din befintliga skalningsuppsättning, kan du manuellt ändra kapaciteten. Skalningsuppsättningen skapar eller tar bort antalet virtuella datorinstanser som krävs och konfigurerar sedan lastbalanseraren att distribuera trafiken.
Skapa först ett skalningsuppsättningsobjekt med Get-AzVmss och ange sedan ett nytt värde för sku.capacity
. Om du vill tillämpa kapacitetsändringen, använder du Update-AzVmss. Följande exempel anger antalet virtuella datorinstanser i din skalningsuppsättning till 3:
# Get current scale set
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
# Set and update the capacity of your scale set
$vmss.sku.capacity = 3
Update-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet" -VirtualMachineScaleSet $vmss
Det tar några minuter att uppdatera kapaciteten för din skalningsuppsättning. Om du vill se antalet instanser som du nu har i skalningsuppsättningen använder du Get-Az:
Get-AzVm -ResourceGroupName "myResourceGroup"
Följande exempelutdata visar att kapaciteten för skalningsuppsättningen nu är 3:
ResourceGroupName Name Location VmSize OsType ProvisioningState
----------------- ---- -------- ------ ------ -----------------
myResourceGroup myScaleSet_instance1 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance2 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance3 eastus Standard_DS1_v2 Windows Succeeded
Stoppa och frigöra virtuella datorinstanser i en skalningsuppsättning
Om du vill stoppa enskilda VM-instanser använder du Stop-AzVm och anger instansnamnen.
Stop-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
Som standard frigörs stoppade virtuella datorer och debiteras inte beräkningsavgifter. Om du vill att den virtuella datorn är kvar i etablerat tillstånd när den stoppats, lägger du till parametern -StayProvisioned
till det föregående kommandot. Stoppade virtuella datorer som fortsätter att vara etablerade, kostar vanliga beräkningsavgifter.
Starta virtuella datorinstanser i en skalningsuppsättning
Om du vill starta alla vm-instanser i en skalningsuppsättning använder du Start-AzVmss.
Start-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Om du vill starta en enskild VM-instans i en skalningsuppsättning använder du Start-AzVM och anger instansnamnet.
Start-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
Starta om virtuella datorinstanser i en skalningsuppsättning
Om du vill starta om alla virtuella datorer i en skalningsuppsättning använder du Restart-AzVmss.
Restart-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Om du vill starta om en enskild instans använder du [Restart-AzVM] och anger instansnamnet.
Restart-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
Rensa resurser
Om en resursgrupp tas bort, tas även alla resurser som ingår i gruppen bort, som de virtuella datorinstanserna, det virtuella nätverket och diskarna tas också bort. Parametern -Force
bekräftar att du vill ta bort resurserna utan en extra uppmaning om att göra det. Parametern -AsJob
återför kontrollen till kommandotolken utan att vänta på att uppgiften slutförs.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob
Nästa steg
I den här självstudien fick du lära dig hur du utför vissa grundläggande skapande och hanteringsåtgärder för skalningsuppsättningar med Azure PowerShell:
- Skapa en resursgrupp
- Skapa en skalningsuppsättning
- Visa och använda specifika VM-storlekar
- Skala en skalningsuppsättning automatiskt
- Utför vanliga skalningsuppsättningshanteringsuppgifter som att stoppa, starta och starta om skalningsuppsättningen
Gå vidare till nästa självstudie för att lära dig hur du ansluter till dina skalningsuppsättningsinstanser.