Delen via


Een virtuele-machineschaalset beheren met Azure PowerShell

Notitie

Veel van de stappen in dit document zijn van toepassing op virtuele-machineschaalsets met behulp van de modus Uniform Orchestration. We raden u aan Flexibele indeling te gebruiken voor nieuwe workloads. Zie Orchesration-modi voor virtuele-machineschaalsets in Azure voor meer informatie.

Gedurende 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 algemene Azure PowerShell-cmdlets beschreven waarmee u deze taken kunt uitvoeren.

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

Notitie

Het wordt aanbevolen 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 als volgt uw eigen namen 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 ziet u alle VM-exemplaren in de schaalset met de naam myScaleSet en in de resourcegroep myResourceGroup . 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 u wilt weergeven. In het volgende voorbeeld ziet u informatie over vm-exemplaar 0 in de schaalset met de naam myScaleSet en de resourcegroep myResourceGroup . Voer als volgt uw eigen namen in:

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

U kunt ook gedetailleerde instanceView-informatie ophalen 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 virtuele machines 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 exemplaar-id met een komma.

In het volgende voorbeeld wordt instantie 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 in een schaalset starten

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 exemplaar-id met een komma.

In het volgende voorbeeld wordt instantie 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 exemplaar-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 uit een schaalset verwijderen

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 moeten worden verwijderd. Als u geen exemplaar-id opgeeft, worden alle VM's in de schaalset verwijderd. Als u meerdere VM's wilt verwijderen, scheidt u elke exemplaar-id met een komma.

In het volgende voorbeeld wordt exemplaar 0 verwijderd in 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 algemene taken voor schaalsets zijn het implementeren van een toepassing en het upgraden van VM-exemplaren. U kunt Azure PowerShell ook gebruiken om regels voor automatisch schalen te configureren.