Kurz: Vytvoření a správa škálovací sady virtuálních počítačů pomocí Azure CLI

Škálovací sada virtuálních počítačů umožňuje nasadit a spravovat sadu virtuálních počítačů. V průběhu životního cyklu škálovací sady virtuálních počítačů možná budete muset spustit jednu nebo více úloh správy. V tomto kurzu se naučíte:

  • Vytvoření skupiny zdrojů
  • Vytvoření škálovací sady virtuálních počítačů
  • Horizontální navýšení nebo snížení kapacity (škálování)
  • Zastavení, spuštění a restartování instancí virtuálních počítačů

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Předpoklady

Tento článek vyžaduje verzi 2.0.29 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

Vytvoření skupiny zdrojů

Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. Skupina prostředků musí být vytvořena před škálovací sadou virtuálních počítačů. Vytvořte skupinu prostředků pomocí příkazu az group create. V tomto příkladu se vytvoří skupina prostředků s názvem myResourceGroup v oblasti eastus.

az group create --name myResourceGroup --location eastus

Název skupiny prostředků zadáte při vytváření nebo úpravě škálovací sady v rámci tohoto kurzu.

Vytvoření škálovací sady

Důležité

Od listopadu 2023 se škálovací sady virtuálních počítačů vytvořené pomocí PowerShellu a Azure CLI ve výchozím nastavení nastaví do flexibilního režimu orchestrace, pokud není zadaný žádný režim orchestrace. Další informace o této změně a akcích, které byste měli provést, najdete v tématu Zásadní změna pro zákazníky PowerShellu nebo rozhraní příkazového řádku VMSS – Microsoft Community Hub.

Škálovací sadu virtuálních počítačů vytvoříte pomocí příkazu az vmss create . Následující příklad vytvoří škálovací sadu s názvem myScaleSet a vygeneruje klíče SSH, pokud neexistují:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --orchestration-mode flexible \
  --image <SKU image> \
  --admin-username azureuser \
  --generate-ssh-keys

Vytvoření a konfigurace všech prostředků škálovací sady a instancí virtuálních počítačů trvá několik minut. Za účelem distribuce provozu do jednotlivých instancí virtuálních počítačů se vytvoří také nástroj pro vyrovnávání zatížení.

Zobrazení informací o instancích virtuálních počítačů ve škálovací sadě

Pokud chcete zobrazit seznam instancí virtuálních počítačů ve škálovací sadě, použijte příkaz az vm list následujícím způsobem:

az vm list --resource-group myResourceGroup --output table

Následující příklad výstupu ukazuje dvě instance virtuálních počítačů ve škálovací sadě:

Name                 ResourceGroup    Location    Zones
-------------------  ---------------  ----------  -------
myScaleSet_instance1  myResourceGroup  eastus
myScaleSet_instance2  myResourceGroup  eastus

Pokud chcete zobrazit další informace o konkrétní instanci virtuálního počítače, použijte příkaz az vm show a zadejte název virtuálního počítače.

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"
  },
}

Vytvoření škálovací sady s konkrétní velikostí instancí virtuálních počítačů

Při vytváření škálovací sady na začátku kurzu jste pro instance virtuálních počítačů zadali výchozí skladovou položku virtuálního počítače Standard_D1_v2. Na základě výstupu příkazu az vm list-sizes můžete zadat jinou velikost instancí virtuálních počítačů. Následující příklad vytvoří škálovací sadu s použitím parametru --vm-sku, který určí velikost instancí virtuálních počítačů Standard_F1. Vzhledem k tomu, že vytvoření a konfigurace všech prostředků škálovací sady a instancí virtuálních počítačů trvá několik minut, následující škálovací sadu nasazovat nemusíte:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --orchestration-mode flexible \
  --image <SKU image> \
  --vm-sku Standard_F1 \
  --admin-user azureuser \
  --generate-ssh-keys

Změna kapacity škálovací sady

Při vytváření škálovací sady na začátku kurzu se ve výchozím nastavení nasadily dvě instance virtuálních počítačů. Počet instancí vytvořených se škálovací sadou můžete změnit zadáním parametru --instance-count u příkazu az vmss create. Pokud chcete zvýšit nebo snížit počet instancí virtuálních počítačů v existující škálovací sadě, můžete ručně změnit kapacitu. Škálovací sada vytvoří nebo odebere požadovaný počet instancí virtuálních počítačů a pak nakonfiguruje nástroj pro vyrovnávání zatížení pro distribuci provozu.

Pokud chcete ručně zvýšit nebo snížit počet instancí virtuálních počítačů ve škálovací sadě, použijte příkaz az vmss scale. Následující příklad nastaví počet instancí virtuálních počítačů ve vaší škálovací sadě na 3:

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

Aktualizace kapacity škálovací sady trvá několik minut. Pokud chcete zobrazit počet instancí, které teď máte ve škálovací sadě, použijte příkaz az vm list a dotaz na přidruženou skupinu prostředků.

az vm list --resource-group myResourceGroup --output table
Name                 ResourceGroup    Location    Zones
-------------------  ---------------  ----------  -------
myScaleSet_instance1  myResourceGroup  eastus
myScaleSet_instance2  myResourceGroup  eastus
myScaleSet_instance3  myResourceGroup  eastus

Zastavení a uvolnění instancí virtuálních počítačů ve škálovací sadě

Pokud chcete zastavit všechny instance virtuálních počítačů ve škálovací sadě, použijte příkaz az vmss stop.

az vmss stop \
  --resource-group myResourceGroup \
  --name myScaleSet

Pokud chcete zastavit jednotlivé instance virtuálních počítačů ve škálovací sadě, použijte příkaz az vm stop a zadejte název instance.

az vm stop \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

Zastavené instance virtuálních počítačů zůstanou přidělené a nadále se u nich účtují poplatky za výpočty. Pokud místo toho chcete uvolnit instance virtuálních počítačů a účtují se vám pouze poplatky za úložiště, použijte příkaz az vm deallocate a zadejte názvy instancí, které chcete uvolnit.

az vm deallocate \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

Spuštění instancí virtuálních počítačů ve škálovací sadě

Pokud chcete spustit všechny instance virtuálních počítačů ve škálovací sadě, použijte příkaz az vmss start.

az vmss start \
  --resource-group myResourceGroup \
  --name myScaleSet

Pokud chcete spustit jednotlivé instance virtuálních počítačů ve škálovací sadě, použijte příkaz az vm start a zadejte název instance.

az vm start \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

Restartování instancí virtuálních počítačů ve škálovací sadě

Pokud chcete restartovat všechny instance virtuálních počítačů ve škálovací sadě, použijte příkaz az vmss restart.

az vmss restart \
  --resource-group myResourceGroup \
  --name myScaleSet

Pokud chcete restartovat jednotlivé instance virtuálních počítačů ve škálovací sadě, použijte příkaz az vm restart a zadejte název instance.

az vm restart \
  --resource-group myResourceGroup \
  --name myScaleSet_instance1

Vyčištění prostředků

Když odstraníte skupinu prostředků, odstraní se také všechny prostředky v ní obsažené, například instance virtuálních počítačů, virtuální síť a disky. Parametr --no-wait vrátí řízení na příkazový řádek bez čekání na dokončení operace. Parametr --yes potvrzuje, že chcete odstranit prostředky bez další výzvy k tomu.

az group delete --name myResourceGroup --no-wait --yes

Další kroky

V tomto kurzu jste zjistili, jak provádět několik běžných úloh vytvoření a správy škálovací sady pomocí Azure CLI:

  • Vytvoření skupiny zdrojů
  • Vytvoření škálovací sady
  • Zobrazení a použití specifických velikostí virtuálních počítačů
  • Ruční škálování škálovací sady
  • Provádění běžných úloh správy škálovacích sad, jako je zastavení, spuštění a restartování škálovací sady

V dalším kurzu se dozvíte, jak se připojit k instancím škálovací sady.