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.