Dela via


Självstudie: Skapa och hantera en VM-skalningsuppsättning med Azure CLI

Med en skalningsuppsättning för virtuella maskiner kan du distribuera och hantera en uppsättning virtuella datorer. Under livscykeln för en virtuell maskin skalningsgrupp kan du behöva köra en eller flera hanteringsuppgifter. I den här handledningen lär du dig hur man:

  • Skapa en resursgrupp
  • Skapa en skalningsuppsättning för virtuella maskiner
  • Skala ut och in
  • Stoppa, starta och starta om virtuella datorinstanser

Om du inte har något Azure-konto skapar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

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 Virtual Machine Scale Set. 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 skala i hela den här självstudien.

** Skapa ett skalningsset

Viktigt!

Från och med november 2023 kommer VM-skalningsuppsättningar som skapats med PowerShell och Azure CLI som standard använda flexibelt 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 Brytande ändring för VMSS PowerShell/CLI-kunder – Microsoft Community Hub

Du skapar en skalningsuppsättning för virtuella maskiner 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 VM-instanser. För att distribuera trafik till de enskilda vm-instanserna 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å VM-instanser 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 specifik VM-instansstorlek

När du skapade en skalningsuppsättning i början av självstudien tillhandahölls en standard-VM-SKU för Standard_D1_v2 för de virtuella datorinstanserna. Du kan ange en annan vm-instansstorlek baserat på utdata från az vm list-sizes. I följande exempel skapas en skalningsuppsättning med parametern --vm-sku för att ange en VM-instansstorlek på Standard_F1. Eftersom det tar några minuter att skapa och konfigurera alla skalningsuppsättningsresurser och VM-instanser 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 skaleringsuppsättning

När du skapade en skalningsuppsättning i början av självstudien distribuerades två VM-instanser som standard. Du kan ange parametern --instance-count med az vmss create för att ändra antalet instanser som skapats med en skalningsuppsättning. Om du vill öka eller minska antalet virtuella datorinstanser i din befintliga skalningsuppsättning kan du ändra kapaciteten manuellt. Skalningsuppsättningen skapar eller tar bort det antal virtuella datorinstanser som krävs och konfigurerar sedan lastbalanseraren för att distribuera trafik.

Om du vill öka eller minska antalet virtuella datorinstanser manuellt i skalningsuppsättningen använder du az vmss scale. I följande exempel anges antalet vm-instanser i skalningsuppsättningen till 3:

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

Det tar några minuter att uppdatera kapaciteten för din skalsats. Om du vill se antalet instanser som du nu har i skalningsuppsättningen använder du az vm list och söker 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 deallokera VM-instanser i en skalauppsä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 VM-instanser förblir allokerade och fortsätter att debiteras 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 VM-instanser 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

När du tar bort en resursgrupp tas även alla resurser som ingår i, till exempel VM-instanser, virtuella nätverk och diskar, 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 har du lärt dig hur du utför några grundläggande uppgifter för att skapa och hantera skalningsuppsättningar med Azure CLI:

  • Skapa en resursgrupp
  • ** Skapa ett skalningsset
  • Visa och använda specifika VM-storlekar
  • Skala en skalningsuppsättning manuellt
  • 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 att ansluta till dina skaluppsättningsinstanser.