Självstudie: Skapa och hantera en VM-skalningsuppsättning med Azure CLI
Med en vm-skalningsuppsättning kan du distribuera och hantera en uppsättning virtuella datorer. Under livscykeln för en VM-skalningsuppsättning kan du behöva köra en eller flera hanteringsuppgifter. I den här självstudiekursen får du lära du dig att:
- Skapa en resursgrupp
- Skapa en VM-skalningsuppsättning
- Skala ut och in
- Stoppa, starta och starta om virtuella datorinstanser
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Den här artikeln kräver version 2.0.29 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
Skapa en resursgrupp
En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. En resursgrupp måste skapas innan en VM-skalningsuppsättning. Skapa en resursgrupp med kommandot az group create. I det här exemplet skapas en resursgrupp med namnet myResourceGroup i regionen eastus.
az group create --name myResourceGroup --location eastus
Resursgruppens namn anges när du skapar eller ändrar en skalningsuppsättning under den här självstudien.
Skapa en skalningsuppsättning
Viktigt!
Från och med november 2023 kommer VM-skalningsuppsättningar som skapats med PowerShell och Azure CLI som standard att vara flexibla orkestreringsläge om inget orkestreringsläge har angetts. Mer information om den här ändringen och vilka åtgärder du bör vidta finns i Icke-bakåtkompatibla ändringar för VMSS PowerShell/CLI-kunder – Microsoft Community Hub
Du skapar en vm-skalningsuppsättning med kommandot az vmss create . I följande exempel skapas en skalningsuppsättning med namnet myScaleSet och genererar SSH-nycklar om de inte finns:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--admin-username azureuser \
--generate-ssh-keys
Det tar några minuter att skapa och konfigurera alla skalningsuppsättningsresurser och virtuella datorinstanser. För att distribuera trafik till flera virtuella datorinstanser så skapas även en lastbalanserare.
Visa information om de virtuella datorinstanserna i din skalningsuppsättning
Om du vill visa en lista över virtuella datorinstanser i en skalningsuppsättning använder du az vm list på följande sätt:
az vm list --resource-group myResourceGroup --output table
Följande exempelutdata visar två virtuella datorinstanser i skalningsuppsättningen:
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
Om du vill se ytterligare information om en specifik VM-instans använder du az vm show och anger namnet på den virtuella datorn.
az vm show --resource-group myResourceGroup --name myScaleSet_instance1
{
"hardwareProfile": {
"vmSize": "Standard_DS1_v2",
},
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1",
"location": "eastus",
"name": "myScaleSet_instance1",
"networkProfile": {
"networkInterfaces": [
{
"deleteOption": "Delete",
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-0396c71c",
"primary": true,
"resourceGroup": "myResourceGroup"
}
]
},
"osProfile": {
"adminUsername": "azureuser",
"allowExtensionOperations": true,
"computerName": "myScaleSN30BP1",
"linuxConfiguration": {
"disablePasswordAuthentication": true,
"enableVmAgentPlatformUpdates": false,
"patchSettings": {
"assessmentMode": "ImageDefault",
"patchMode": "ImageDefault"
},
"provisionVmAgent": true,
"ssh": {
"publicKeys": [
{
"keyData": "ssh-rsa",
"path": "/home/azureuser/.ssh/authorized_keys"
}
]
}
},
"requireGuestProvisionSignal": true,
"secrets": [],
},
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"storageProfile": {
"dataDisks": [],
"imageReference": {
"exactVersion": "XXXXX",
"offer": "myOffer",
"publisher": "myPublisher",
"sku": "mySKU",
"version": "latest"
},
"osDisk": {
"caching": "ReadWrite",
"createOption": "FromImage",
"deleteOption": "Delete",
"diskSizeGb": 30,
"managedDisk": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myScaleSet_instance1_disk1",
"resourceGroup": "myResourceGroup",
"storageAccountType": "Premium_LRS"
},
"name": "myScaleSet_instance1_disk1",
"osType": "Linux",
}
},
"tags": {},
"timeCreated": "2022-11-16T20:32:15.024581+00:00",
"type": "Microsoft.Compute/virtualMachines",
"virtualMachineScaleSet": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet",
"resourceGroup": "myResourceGroup"
},
}
Skapa en skalningsuppsättning med en virtuell datorinstans av en viss storlek
När du skapade en skalningsuppsättning i början av självstudien, angavs en standard virtuell dator-SKU på Standard_D1_v2 för de virtuella datorinstanserna. Du kan ange en annan virtuell datorinstans-storlek baserat på utdata från az vm list-sizes. Följande exempel skapar en skalningsuppsättning med parametern --vm-sku
för att ange en virtuell datorinstans-storlek på Standard_F1. Eftersom det tar några minuter att skapa och konfigurera alla skalningsuppsättningsresurser och virtuella datorinstanser så behöver du inte distribuera följande skalningsuppsättning:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--vm-sku Standard_F1 \
--admin-user azureuser \
--generate-ssh-keys
Ändra kapaciteten för en skalningsuppsättning
När du skapade en skalningsuppsättning i början av självstudien, distribuerades två virtuella datorinstanser som standard. Du kan ange parametern --instance-count
med az vmss create för att ändra antalet instanser som skapas med en skalningsuppsättning. Om du vill öka eller minska antalet virtuella datorinstanser i din befintliga skalningsuppsättning, kan du manuellt ändra kapaciteten. Skalningsuppsättningen skapar eller tar bort antalet virtuella datorinstanser som krävs och konfigurerar sedan lastbalanseraren att distribuera trafiken.
Om du vill öka eller minska antalet virtuella datorinstanser manuellt i skalningsuppsättningen, använder du az vmss scale. Följande exempel anger antalet virtuella datorinstanser i din skalningsuppsättning till 3:
az vmss scale \
--resource-group myResourceGroup \
--name myScaleSet \
--new-capacity 3
Det tar några minuter att uppdatera kapaciteten för din skalningsuppsättning. Om du vill se antalet instanser som du nu har i skalningsuppsättningen använder du az vm list and query på den associerade resursgruppen.
az vm list --resource-group myResourceGroup --output table
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
myScaleSet_instance3 myResourceGroup eastus
Stoppa och frigöra virtuella datorinstanser i en skalningsuppsättning
Om du vill stoppa alla vm-instanser i en skalningsuppsättning använder du az vmss stop.
az vmss stop \
--resource-group myResourceGroup \
--name myScaleSet
Om du vill stoppa enskilda VM-instanser i en skalningsuppsättning använder du az vm stop och anger instansnamnet.
az vm stop \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Stoppade virtuella datorinstanser är fortfarande allokerade och fortsätter att kosta beräkningsavgifter. Om du i stället vill att de virtuella datorinstanserna ska frigöras och endast debiteras lagringsavgifter använder du az vm deallocate och anger de instansnamn som du vill frigöra.
az vm deallocate \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Starta virtuella datorinstanser i en skalningsuppsättning
Om du vill starta alla vm-instanser i en skalningsuppsättning använder du az vmss start.
az vmss start \
--resource-group myResourceGroup \
--name myScaleSet
Om du vill starta enskilda VM-instanser i en skalningsuppsättning använder du az vm start och anger instansnamnet.
az vm start \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Starta om virtuella datorinstanser i en skalningsuppsättning
Om du vill starta om alla vm-instanser i en skalningsuppsättning använder du az vmss restart.
az vmss restart \
--resource-group myResourceGroup \
--name myScaleSet
Om du vill starta om enskilda VM-instanser i en skalningsuppsättning använder du az vm restart och anger instansnamnet.
az vm restart \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Rensa resurser
Om en resursgrupp tas bort, tas även alla resurser som ingår i gruppen bort, som de virtuella datorinstanserna, det virtuella nätverket och diskarna tas också bort. Parametern --no-wait
återför kontrollen till kommandotolken utan att vänta på att uppgiften slutförs. Parametern --yes
bekräftar att du vill ta bort resurserna utan en extra uppmaning om att göra det.
az group delete --name myResourceGroup --no-wait --yes
Nästa steg
I den här självstudien beskrivs hur du utför vissa grundläggande skapande och hanteringsåtgärder för skalningsuppsättningar med Azure CLI:
- Skapa en resursgrupp
- Skapa en skalningsuppsättning
- Visa och använda specifika VM-storlekar
- Skala en skalningsuppsättning automatiskt
- Utför vanliga skalningsuppsättningshanteringsuppgifter som att stoppa, starta och starta om skalningsuppsättningen
Gå vidare till nästa självstudie för att lära dig hur du ansluter till dina skalningsuppsättningsinstanser.