Samouczek: tworzenie zestawu skalowania maszyn wirtualnych i zarządzanie nim za pomocą programu Azure PowerShell

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.

Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Button to launch Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając klawisze Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.

  4. Wybierz klawisz Enter, aby uruchomić kod lub polecenie.

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 New-AzResourceGroup. W tym przykładzie grupa zasobów o nazwie myResourceGroup zostanie utworzona w regionie EastUS.

New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"

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

Tworzenie zestawu skalowania maszyn wirtualnych

Najpierw ustaw nazwę użytkownika i hasło administratora wystąpień maszyn wirtualnych przy użyciu polecenia Get-Credential:

$cred = Get-Credential

Teraz utwórz zestaw skalowania maszyn wirtualnych za pomocą polecenia New-AzVmss. Musisz również utworzyć moduł równoważenia obciążenia, który umożliwia kierowanie ruchu do poszczególnych wystąpień maszyn wirtualnych. Moduł równoważenia obciążenia obejmuje reguły dystrybucji ruchu na porcie TCP 80 i zezwalają na ruch pulpitu zdalnego na porcie TCP 3389 i komunikacji zdalnej programu PowerShell na porcie TCP 5985:

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

New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -OrchestrationMode "Flexible" `
  -Location "EastUS" `
  -Credential $cred

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 wystąpień maszyn wirtualnych w zestawie skalowania

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

Get-AzVM -ResourceGroupName "myResourceGroup"

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

ResourceGroupName                Name Location          VmSize  OsType      ProvisioningState 
-----------------                ---- --------          ------  ------       ----------------- 
myResourceGroup   myScaleSet_instance1   eastus Standard_DS1_v2 Windows         Succeeded     
myResourceGroup   myScaleSet_instance2   eastus Standard_DS1_v2 Windows         Succeeded     

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

Get-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1" 
ResourceGroupName      : myresourcegroup
Id                     : /subscriptions/resourceGroups/myresourcegroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1
VmId                   : d27b5fde-d469-4087-b08f-87d0bd8df786
Name                   : myScaleSet_instance1
Type                   : Microsoft.Compute/virtualMachines
Location               : eastus
Tags                   : {}
HardwareProfile        : {VmSize}
NetworkProfile         : {NetworkInterfaces}
OSProfile              : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState      : Succeeded
StorageProfile         : {ImageReference, OsDisk, DataDisks}
VirtualMachineScaleSet : {Id}
TimeCreated            : 11/16/2022 11:02:02 PM

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żesz określić inny rozmiar wystąpienia maszyny wirtualnej z parametrem -VMSize , aby określić rozmiar wystąpienia maszyny wirtualnej Standard_F1.

New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -OrchestrationMode "Flexible" `
  -VMSize "Standard_F1" `
  -Location "EastUS" `
  -Credential $cred

Zmienianie pojemności zestawu skalowania

Po utworzeniu zestawu skalowania domyślnie wdrożono dwa wystąpienia maszyn wirtualnych. Aby zwiększyć lub zmniejszyć liczbę wystąpień maszyn wirtualnych w 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.

Najpierw utwórz obiekt zestawu skalowania za pomocą polecenia Get-AzVmss, a następnie podaj nową wartość parametru sku.capacity. Aby zastosować zmiany pojemności, użyj polecenia Update-AzVmss. W poniższym przykładzie liczba wystąpień maszyn wirtualnych w zestawie skalowania jest ustawiana na 3:

# Get current scale set
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

# Set and update the capacity of your scale set
$vmss.sku.capacity = 3
Update-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet" -VirtualMachineScaleSet $vmss 

Zaktualizowanie pojemności zestawu skalowania trwa kilka minut. Aby wyświetlić liczbę wystąpień, które są teraz dostępne w zestawie skalowania, użyj polecenia Get-Az:

Get-AzVm -ResourceGroupName "myResourceGroup" 

W następujących przykładowych danych wyjściowych widać, że pojemność zestawu skalowania wynosi 3:

ResourceGroupName                Name Location          VmSize  OsType    ProvisioningState 
-----------------                ---- --------          ------  ------    ----------------- 
myResourceGroup   myScaleSet_instance1   eastus Standard_DS1_v2 Windows       Succeeded     
myResourceGroup   myScaleSet_instance2   eastus Standard_DS1_v2 Windows       Succeeded     
myResourceGroup   myScaleSet_instance3   eastus Standard_DS1_v2 Windows       Succeeded   

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

Aby zatrzymać poszczególne wystąpienia maszyn wirtualnych, użyj polecenia Stop-AzVm i określ nazwy wystąpień.

Stop-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"

Domyślnie zatrzymane maszyny wirtualne są cofane i nie są naliczane opłaty za obliczenia. Jeśli zatrzymana maszyna wirtualna ma zachować stan Aprowizowano, dodaj parametr -StayProvisioned do poprzedniego polecenia. W przypadku zatrzymanych maszyn wirtualnych ze stanem Aprowizowano są naliczane opłaty za operacje obliczeniowe.

Uruchamianie wystąpień maszyn wirtualnych w zestawie skalowania

Aby uruchomić wszystkie wystąpienia maszyn wirtualnych w zestawie skalowania, użyj polecenia Start-AzVmss.

Start-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" 

Aby uruchomić pojedyncze wystąpienie maszyny wirtualnej w zestawie skalowania, użyj polecenia Start-AzVM i określ nazwę wystąpienia.

Start-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"

Ponowne uruchamianie wystąpień maszyn wirtualnych w zestawie skalowania

Aby ponownie uruchomić wszystkie maszyny wirtualne w zestawie skalowania, użyj polecenia Restart-AzVmss.

Restart-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Aby ponownie uruchomić pojedyncze wystąpienie, użyj polecenia [Restart-AzVM] i określ nazwę wystąpienia.

Restart-AzVM -ResourceGroupName "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 -Force potwierdza, że chcesz usunąć zasoby bez dodatkowego monitu, aby to zrobić. Parametr -AsJob zwraca kontrolę do wiersza polecenia bez oczekiwania na zakończenie operacji.

Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob

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 programu Azure PowerShell:

  • 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.