Hantera en VM-skalningsuppsättning med Azure PowerShell

Anteckning

Många av stegen i det här dokumentet gäller för Virtual Machine Scale Sets med enhetlig orkestreringsläge. Vi rekommenderar att du använder Flexibel orkestrering för nya arbetsbelastningar. Mer information finns i Orchesration-lägen för Virtual Machine Scale Sets i Azure.

Under livscykeln för en VM-skalningsuppsättning kan du behöva köra en eller flera hanteringsuppgifter. Dessutom kanske du vill skapa skript som automatiserar olika livscykeluppgifter. Den här artikeln beskriver några av de vanliga Azure PowerShell cmdletar som gör att du kan utföra dessa uppgifter.

Om du behöver skapa en VM-skalningsuppsättning kan du skapa en skalningsuppsättning med Azure PowerShell.

Anteckning

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Visa information om en skalningsuppsättning

Om du vill visa den övergripande informationen om en skalningsuppsättning använder du Get-AzVmss. I följande exempel hämtas information om skalningsuppsättningen myScaleSet i resursgruppen myResourceGroup . Ange dina egna namn på följande sätt:

Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Visa virtuella datorer i en skalningsuppsättning

Om du vill visa en lista över VM-instanser i en skalningsuppsättning använder du Get-AzVmssVM. I följande exempel visas alla VM-instanser i skalningsuppsättningen med namnet myScaleSet och i resursgruppen myResourceGroup . Ange egna värden för följande namn:

Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Om du vill visa ytterligare information om en specifik VM-instans lägger du till parametern i -InstanceIdGet-AzVmssVM och anger en instans som ska visas. I följande exempel visas information om VM-instans 0 i skalningsuppsättningen myScaleSet och resursgruppen myResourceGroup . Ange dina egna namn på följande sätt:

Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "0"

Du kan också få detaljerad instansVyinformation för alla instanser i ett API-anrop, vilket kan bidra till att undvika API-begränsning för stora installationer.

Get-AzVmssVM -InstanceView -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
GET "https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSSName>/virtualMachines?api-version=2019-03-01&%24expand=instanceView"

Ändra kapaciteten för en skalningsuppsättning

Föregående kommandon visade information om din skalningsuppsättning och VM-instanserna. Om du vill öka eller minska antalet instanser i skalningsuppsättningen kan du ändra kapaciteten. Skalningsuppsättningen skapar eller tar automatiskt bort det antal virtuella datorer som krävs och konfigurerar sedan de virtuella datorerna för att ta emot programtrafik.

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. I följande exempel uppdateras myScaleSet i resursgruppen myResourceGroup till en kapacitet på 5 instanser. Ange dina egna värden på följande sätt:

# Get current scale set
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

# Set and update the capacity of your scale set
$vmss.sku.capacity = 5
Update-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet" -VirtualMachineScaleSet $vmss

Det tar några minuter att uppdatera kapaciteten för din skalningsuppsättning. Om du minskar kapaciteten för en skalningsuppsättning tas de virtuella datorerna med de högsta instans-ID:na bort först.

Stoppa och starta virtuella datorer i en skalningsuppsättning

Om du vill stoppa en eller flera virtuella datorer i en skalningsuppsättning, använder du Stop-AzVmss. Parametern -InstanceId låter dig ange en eller flera virtuella datorer att stoppa. Om du inte anger ett instans-ID, stoppas alla virtuella datorer i skalningsuppsättningen. Om du vill stoppa flera virtuella datorer separerar du varje instans-ID med ett kommatecken.

I följande exempel stoppas instans 0 i skalningsuppsättningen med namnet myScaleSet och resursgruppen myResourceGroup . Ange dina egna värden på följande sätt:

Stop-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "0"

Som standard frigörs stoppade virtuella datorer och uppbär inga beräkningskostnader. 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 datorer i en skalningsuppsättning

Om du vill starta en eller flera virtuella datorer i en skalningsuppsättning, använder du Start-AzVmss. Parametern -InstanceId låter dig ange en eller flera virtuella datorer att starta. Om du inte anger ett instans-ID, startas alla virtuella datorer i skalningsuppsättningen. Om du vill starta flera virtuella datorer separerar du varje instans-ID med ett kommatecken.

I följande exempel startar instans 0 i skalningsuppsättningen myScaleSet och resursgruppen myResourceGroup . Ange dina egna värden på följande sätt:

Start-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "0"

Starta om virtuella datorer i en skalningsuppsättning

Om du vill starta om en eller flera virtuella datorer i en skalningsuppsättning använder du Restart-AzVmss. Parametern -InstanceId låter dig ange en eller flera virtuella datorer att starta om. Om du inte anger ett instans-ID, startas alla virtuella datorer i skalningsuppsättningen om. Om du vill starta om flera virtuella datorer separerar du varje instans-ID med ett kommatecken.

I följande exempel startas instans 0 om i skalningsuppsättningen med namnet myScaleSet och resursgruppen myResourceGroup . Ange dina egna värden på följande sätt:

Restart-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "0"

Ta bort virtuella datorer från en skalningsuppsättning

Om du vill ta bort en eller flera virtuella datorer i en skalningsuppsättning använder du Remove-AzVmss. Med parametern -InstanceId kan du ange en eller flera virtuella datorer att ta bort. Om du inte anger något instans-ID tas alla virtuella datorer i skalningsuppsättningen bort. Om du vill ta bort flera virtuella datorer separerar du varje instans-ID med ett kommatecken.

I följande exempel tas instans 0 bort i skalningsuppsättningen med namnet myScaleSet och resursgruppen myResourceGroup . Ange dina egna värden på följande sätt:

Remove-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "0"

Nästa steg

Andra vanliga uppgifter för skalningsuppsättningar är hur du distribuerar ett program och uppgraderar VM-instanser. Du kan också använda Azure PowerShell för att konfigurera regler för automatisk skalning.