Een virtuele-machineschaalset beheren met Azure PowerShell

Notitie

Veel van de stappen in dit document zijn van toepassing op Virtual Machine Scale Sets met de modus Uniform Orchestration. U wordt aangeraden Flexibele indeling te gebruiken voor nieuwe workloads. Zie Orchesration modes for Virtual Machine Scale Sets in Azure (Orchesration-modi voor Virtual Machine Scale Sets in Azure) voor meer informatie.

Tijdens de levenscyclus van een virtuele-machineschaalset moet u mogelijk een of meer beheertaken uitvoeren. Bovendien wilt u misschien scripts maken die verschillende levenscyclustaken automatiseren. In dit artikel worden enkele veelvoorkomende Azure PowerShell cmdlets beschreven waarmee u deze taken kunt uitvoeren.

Als u een virtuele-machineschaalset wilt maken, kunt u een schaalset maken met Azure PowerShell.

Notitie

U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Informatie over een schaalset weergeven

Gebruik Get-AzVmss om de algemene informatie over een schaalset weer te geven. In het volgende voorbeeld wordt informatie opgehaald over de schaalset met de naam myScaleSet in de resourcegroep myResourceGroup . Voer uw eigen namen als volgt in:

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

Virtuele machines weergeven in een schaalset

Gebruik Get-AzVmssVM om een lijst met VM-exemplaren in een schaalset weer te geven. In het volgende voorbeeld worden alle VM-exemplaren in de schaalset met de naam myScaleSet en in de resourcegroep myResourceGroup weergegeven. Geef uw eigen waarden op voor deze namen:

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

Als u aanvullende informatie over een specifiek VM-exemplaar wilt weergeven, voegt u de -InstanceId parameter toe aan Get-AzVmssVM en geeft u een exemplaar op dat moet worden weergegeven. In het volgende voorbeeld wordt informatie weergegeven over VM-exemplaar 0 in de schaalset met de naam myScaleSet en de resourcegroep myResourceGroup . Voer uw eigen namen als volgt in:

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

U kunt ook gedetailleerde exemplaarinformatie weergeven voor alle exemplaren in één API-aanroep, waardoor API-beperking voor grote installaties kan worden voorkomen.

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"

De capaciteit van een schaalset wijzigen

De voorgaande opdrachten bevatten informatie over uw schaalset en de VM-exemplaren. Als u het aantal exemplaren in de schaalset wilt vergroten of verkleinen, kunt u de capaciteit wijzigen. De schaalset maakt of verwijdert automatisch het vereiste aantal VM's en configureert vervolgens de VM's voor het ontvangen van toepassingsverkeer.

Maak eerst een schaalsetobject met Get-AzVmss en geef vervolgens een nieuwe waarde op voor sku.capacity. Gebruik Update-AzVmss om de capaciteitswijziging toe te passen. In het volgende voorbeeld wordt myScaleSet in de resourcegroep myResourceGroup bijgewerkt naar een capaciteit van 5 exemplaren. Geef als volgt uw eigen waarden op:

# 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

Het duurt een paar minuten om de capaciteit van de schaalset bij te werken. Als u de capaciteit van een schaalset verlaagt, worden de VM's met de hoogste exemplaar-id's eerst verwijderd.

VM’s in een schaalset stoppen en opstarten

Als u een of meer VM's in een schaalset wilt stoppen, gebruikt u Stop-AzVmss. Met de parameter -InstanceId kunt u een of meer VM's opgeven om te stoppen. Als u geen exemplaar-id opgeeft, worden alle VM's in de schaalset gestopt. Als u meerdere VM's wilt stoppen, scheidt u elke instantie-id met een komma.

In het volgende voorbeeld wordt exemplaar 0 gestopt in de schaalset met de naam myScaleSet en de resourcegroep myResourceGroup . Geef als volgt uw eigen waarden op:

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

De standaardinstelling is dat de toewijzing van gestopte VM's ongedaan wordt gemaakt en er dus geen compute-kosten meer in rekening worden gebracht. Als u wilt dat de VM de ingerichte status blijft houden nadat deze is gestopt, voeg u de parameter -StayProvisioned toe aan de voorgaande opdracht. Voor gestopte VM's die ingericht blijven, worden periodieke compute-kosten in rekening gebracht.

VM's starten in een schaalset

Als u een of meer VM's in een schaalset wilt starten, gebruikt u Start-AzVmss. Met de parameter -InstanceId kunt u een of meer VM's opgeven om te starten. Als u geen exemplaar-id opgeeft, worden alle VM's in de schaalset gestart. Als u meerdere VM's wilt starten, scheidt u elke instantie-id met een komma.

In het volgende voorbeeld wordt exemplaar 0 gestart in de schaalset met de naam myScaleSet en de resourcegroep myResourceGroup . Geef als volgt uw eigen waarden op:

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

VM’s in een schaalset opnieuw opstarten

Als u een of meer VM's in een schaalset opnieuw wilt starten, gebruikt u Restart-AzVmss. Met de parameter -InstanceId kunt u een of meer VM's opgeven om opnieuw op te starten. Als u geen exemplaar-id opgeeft, worden alle VM's in de schaalset opnieuw opgestart. Als u meerdere VM's opnieuw wilt starten, scheidt u elke instantie-id met een komma.

In het volgende voorbeeld wordt exemplaar 0 opnieuw gestart in de schaalset met de naam myScaleSet en de resourcegroep myResourceGroup . Geef als volgt uw eigen waarden op:

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

VM's verwijderen uit een schaalset

Als u een of meer VM's in een schaalset wilt verwijderen, gebruikt u Remove-AzVmss. Met de -InstanceId parameter kunt u een of meer VM's opgeven die u wilt verwijderen. Als u geen exemplaar-id opgeeft, worden alle VM's in de schaalset verwijderd. Als u meerdere VM's wilt verwijderen, scheidt u elke instantie-id met een komma.

In het volgende voorbeeld wordt exemplaar 0 verwijderd uit de schaalset met de naam myScaleSet en de resourcegroep myResourceGroup . Geef als volgt uw eigen waarden op:

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

Volgende stappen

Andere veelvoorkomende taken voor schaalsets zijn onder andere het implementeren van een toepassing en het upgraden van VM-exemplaren. U kunt Azure PowerShell ook gebruiken om regels voor automatisch schalen te configureren.