Samouczek: tworzenie zestawu skalowania maszyn wirtualnych i zarządzanie nim za pomocą interfejsu wiersza polecenia platformy Azure

Zestaw skalowania maszyn wirtualnych umożliwia wdrażanie zestawu maszyn wirtualnych i zarządzanie nimi. W całym cyklu życia zestawu skalowania maszyn wirtualnych może być konieczne uruchomienie co najmniej jednego zadania zarządzania. Ten samouczek zawiera informacje na temat wykonywania następujących czynności:

  • Tworzenie grupy zasobów
  • Tworzenie zestawu skalowania maszyn wirtualnych
  • Skalowanie w poziomie w dowolnym kierunku
  • Zatrzymywanie, uruchamianie i ponowne uruchamianie wystąpień maszyn wirtualnych

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Wymagania wstępne

Ten artykuł wymaga wersji 2.0.29 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Przed zestawem skalowania maszyn wirtualnych należy utworzyć grupę zasobów. Utwórz grupę zasobów za pomocą polecenia az group create. W tym przykładzie grupa zasobów o nazwie myResourceGroup zostanie utworzona w regionie eastus.

az group create --name myResourceGroup --location eastus

Nazwa grupy zasobów jest podawana podczas tworzenia lub modyfikowania zestawu skalowania w różnych miejscach tego samouczka.

Tworzenie zestawu skalowania

Ważne

Od listopada 2023 r. zestawy skalowania maszyn wirtualnych utworzone przy użyciu programu PowerShell i interfejsu wiersza polecenia platformy Azure będą domyślnie ustawiać tryb elastycznej orkiestracji, jeśli nie określono trybu aranżacji. Aby uzyskać więcej informacji na temat tej zmiany i akcji, które należy wykonać, zobacz Zmiana powodująca niezgodność dla klientów programu PowerShell/interfejsu wiersza polecenia usługi VMSS — Microsoft Community Hub

Zestaw skalowania maszyn wirtualnych można utworzyć za pomocą polecenia az vmss create . Poniższy przykład tworzy zestaw skalowania o nazwie myScaleSet i generuje klucze SSH, jeśli nie istnieją:

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

Utworzenie i skonfigurowanie wszystkich zasobów zestawu skalowania oraz wystąpień maszyn wirtualnych trwa kilka minut. Musisz również utworzyć moduł równoważenia obciążenia, który umożliwia kierowanie ruchu do poszczególnych wystąpień maszyn wirtualnych.

Wyświetlanie informacji o wystąpieniach maszyn wirtualnych w zestawie skalowania

Aby wyświetlić listę wystąpień maszyn wirtualnych w zestawie skalowania, użyj polecenia az vm list w następujący sposób:

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

Następujące przykładowe dane wyjściowe zawierają dwa wystąpienia maszyn wirtualnych w zestawie skalowania:

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

Aby wyświetlić dodatkowe informacje o konkretnym wystąpieniu maszyny wirtualnej, użyj polecenia az vm show i określ nazwę maszyny wirtualnej.

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

Tworzenie zestawu skalowania o określonym rozmiarze wystąpienia maszyny wirtualnej

Podczas tworzenia zestawu skalowania na początku tego samouczka dla wystąpień maszyn wirtualnych została użyta domyślna jednostka SKU maszyny wirtualnej Standard_D1_v2. Można wskazać inny rozmiar wystąpienia maszyny wirtualnej na podstawie danych wyjściowych polecenia az vm list-sizes. W poniższym przykładzie zostanie utworzony zestaw skalowania z parametrem --vm-sku umożliwiającym wskazanie rozmiaru wystąpienia maszyny wirtualnej Standard_F1. Nie trzeba wdrażać następującego zestawu skalowania, ponieważ utworzenie i skonfigurowanie wszystkich zasobów zestawu skalowania oraz wystąpień maszyn wirtualnych trwa kilka minut:

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

Zmienianie pojemności zestawu skalowania

Podczas tworzenia zestawu skalowania na początku tego samouczka domyślnie zostały wdrożone dwa wystąpienia maszyn wirtualnych. Polecenie az vmss create przyjmuje parametr --instance-count, który pozwala zmienić liczbę wystąpień tworzonych w zestawie skalowania. Aby zwiększyć lub zmniejszyć liczbę wystąpień maszyn wirtualnych w istniejącym zestawie skalowania, można ręcznie zmienić pojemność. Zestaw skalowania tworzy lub usuwa wymaganą liczbę wystąpień maszyn wirtualnych, a następnie konfiguruje moduł równoważenia obciążenia w celu dystrybucji ruchu.

Aby ręcznie zwiększyć lub zmniejszyć liczbę wystąpień maszyn wirtualnych w zestawie skalowania, użyj polecenia az vmss scale. W poniższym przykładzie liczba wystąpień maszyn wirtualnych w zestawie skalowania jest ustawiana na 3:

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

Zaktualizowanie pojemności zestawu skalowania trwa kilka minut. Aby wyświetlić liczbę wystąpień, które masz teraz w zestawie skalowania, użyj polecenia az vm list i zapytania w skojarzonej grupie zasobów.

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

Zatrzymywanie i cofanie przydziału wystąpień maszyn wirtualnych w zestawie skalowania

Aby zatrzymać wszystkie wystąpienia maszyn wirtualnych w zestawie skalowania, użyj polecenia az vmss stop.

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

Aby zatrzymać poszczególne wystąpienia maszyn wirtualnych w zestawie skalowania, użyj polecenia az vm stop i określ nazwę wystąpienia.

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

Zatrzymane wystąpienia maszyn wirtualnych wciąż mają przydział i generują koszty operacji obliczeniowych. Jeśli zamiast tego chcesz cofnąć przydział wystąpień maszyn wirtualnych i ponieść tylko opłaty za magazyn, użyj polecenia az vm deallocate i określ nazwy wystąpień, które chcesz cofnąć.

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

Uruchamianie wystąpień maszyn wirtualnych w zestawie skalowania

Aby uruchomić wszystkie wystąpienia maszyn wirtualnych w zestawie skalowania, użyj polecenia az vmss start.

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

Aby uruchomić poszczególne wystąpienia maszyn wirtualnych w zestawie skalowania, użyj polecenia az vm start i określ nazwę wystąpienia.

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

Ponowne uruchamianie wystąpień maszyn wirtualnych w zestawie skalowania

Aby ponownie uruchomić wszystkie wystąpienia maszyn wirtualnych w zestawie skalowania, użyj polecenia az vmss restart.

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

Aby ponownie uruchomić poszczególne wystąpienia maszyn wirtualnych w zestawie skalowania, użyj polecenia az vm restart i określ nazwę wystąpienia.

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

Czyszczenie zasobów

Usunięcie grupy zasobów powoduje również usunięcie wszystkich znajdujących się w niej zasobów, takich jak wystąpienia maszyn wirtualnych, sieć wirtualna i dyski. Parametr --no-wait zwraca kontrolę do wiersza polecenia bez oczekiwania na zakończenie operacji. Parametr --yes potwierdza, że chcesz usunąć zasoby bez dodatkowego monitu, aby to zrobić.

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

Następne kroki

W tym samouczku omówiono wykonywanie niektórych podstawowych zadań w zakresie tworzenia zestawu skalowania i zarządzania nim przy użyciu interfejsu wiersza polecenia platformy Azure:

  • Tworzenie grupy zasobów
  • Tworzenie zestawu skalowania
  • Wyświetlanie i używanie określonych rozmiarów maszyn wirtualnych
  • Ręczne skalowanie zestawu skalowania
  • Wykonywanie typowych zadań zarządzania zestawem skalowania, takich jak zatrzymywanie, uruchamianie i ponowne uruchamianie zestawu skalowania

Przejdź do następnego samouczka, aby dowiedzieć się, jak nawiązać połączenie z wystąpieniami zestawu skalowania.