Een virtuele-machineschaalset beheren met de Azure CLI

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-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 algemene Azure CLI-opdrachten beschreven waarmee u deze taken kunt uitvoeren.

U hebt de nieuwste Azure CLI nodig om deze beheertaken te voltooien. Zie De Azure CLI installeren voor meer informatie. Als u een virtuele-machineschaalset wilt maken, kunt u een schaalset maken met de Azure CLI.

Informatie over een schaalset weergeven

Gebruik az vmss show 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:

az vmss show --resource-group myResourceGroup --name myScaleSet

Virtuele machines weergeven in een schaalset

Gebruik az vmss list-instances 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 in de resourcegroep myResourceGroup weergegeven. Geef uw eigen waarden op voor deze namen:

az vmss list-instances \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --output table

Als u aanvullende informatie over een specifiek VM-exemplaar wilt weergeven, voegt u de --instance-id parameter toe aan az vmss get-instance-view 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:

az vmss get-instance-view \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --instance-id 0

U kunt ook gedetailleerde instanceView-informatie ophalen voor alle exemplaren in één API-aanroep, waardoor API-beperking voor grote installaties kan worden voorkomen. Geef uw eigen waarden op voor --resource-group, --subscriptionen --name.

az vmss list-instances \
    --expand instanceView \
    --select instanceView \
    --resource-group <resourceGroupName> \
    --subscription <subID> \
    --name <vmssName>
GET "https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSSName>/virtualMachines?api-version=2019-03-01&%24expand=instanceView"

Verbindingsgegevens voor VM's weergeven

Als u verbinding wilt maken met de VM's in een schaalset, gebruikt u SSH of RDP voor een toegewezen openbaar IP-adres en poortnummer. Standaard worden NAT-regels (Network Address Translation) toegevoegd aan de Azure-load balancer die verkeer van externe verbindingen doorstuurt naar elke VM. Als u het adres en de poorten wilt weergeven om verbinding te maken met VM-exemplaren in een schaalset, gebruikt u az vmss list-instance-connection-info. Het volgende voorbeeld bevat verbindingsgegevens voor VM-exemplaren in de schaalset met de naam myScaleSet en in de resourcegroep myResourceGroup . Geef uw eigen waarden op voor deze namen:

az vmss list-instance-connection-info \
    --resource-group myResourceGroup \
    --name myScaleSet

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 het vereiste aantal VM's en configureert vervolgens de VM's voor het ontvangen van toepassingsverkeer.

Als u het aantal instanties wilt weergeven dat zich momenteel in een schaalset bevindt, gebruikt u az vmss show en voert u een query uit op sku.capacity:

az vmss show \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --query [sku.capacity] \
    --output table

U kunt vervolgens het aantal virtuele machines in de schaalset handmatig vergroten of verkleinen met az vmss scale. In het volgende voorbeeld wordt het aantal VM's in uw schaalset ingesteld op 5:

az vmss scale \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --new-capacity 5

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 az vmss stop. Met de parameter --instance-ids 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 spatie.

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:

az vmss stop --resource-group myResourceGroup --name myScaleSet --instance-ids 0

Gestopte VM's blijven toegewezen en er worden nog steeds rekenkosten in rekening gebracht. Als u in plaats daarvan wilt dat de toewijzing van de VM's ongedaan wordt gemaakt en er alleen opslagkosten in rekening worden gebracht, gebruikt u az vmss deallocate. Als u de toewijzing van meerdere VM's ongedaan wilt maken, scheidt u elke instantie-id met een spatie. In het volgende voorbeeld wordt exemplaar 0 gestopt en ongedaan gemaakt in de schaalset met de naam myScaleSet en de resourcegroep myResourceGroup . Geef als volgt uw eigen waarden op:

az vmss deallocate --resource-group myResourceGroup --name myScaleSet --instance-ids 0

VM's in een schaalset starten

Als u een of meer VM's in een schaalset wilt starten, gebruikt u az vmss start. Met de parameter --instance-ids 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 spatie.

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:

az vmss start --resource-group myResourceGroup --name myScaleSet --instance-ids 0

VM’s in een schaalset opnieuw opstarten

Als u een of meer VM's in een schaalset opnieuw wilt starten, gebruikt u az vmss restart. Met de parameter --instance-ids 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 spatie.

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:

az vmss restart --resource-group myResourceGroup --name myScaleSet --instance-ids 0

VM's verwijderen uit een schaalset

Als u een of meer VM's in een schaalset wilt verwijderen, gebruikt u az vmss delete-instances. Met de --instance-ids parameter kunt u een of meer VM's opgeven die u wilt verwijderen. Als u * opgeeft voor de instantie-id, worden alle VM's in de schaalset verwijderd. Als u meerdere VM's wilt verwijderen, scheidt u elke instantie-id met een spatie.

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:

az vmss delete-instances --resource-group myResourceGroup --name myScaleSet --instance-ids 0

Volgende stappen

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