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 i w poziomie
  • 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. Jeśli korzystasz 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

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 \
  --image <SKU image> \
  --orchestration-mode flexible \
  --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 znajdują się teraz w zestawie skalowania, użyj polecenia az vm list i zapytania dotyczącego skojarzonej grupy 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.

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.