Szybki start: tworzenie zestawu skalowania maszyn wirtualnych z systemem Linux przy użyciu szablonu usługi ARM

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Jednolite zestawy ✔️ skalowania

Uwaga

Poniższy artykuł dotyczy ujednoliconych zestawów skalowania maszyn wirtualnych. Zalecamy używanie elastycznych zestawów skalowania maszyn wirtualnych dla nowych obciążeń. Dowiedz się więcej o tym nowym trybie aranżacji w naszym omówieniu elastycznych zestawów skalowania maszyn wirtualnych.

Zestaw skalowania maszyn wirtualnych umożliwia wdrażanie zestawu maszyn wirtualnych skalowania automatycznego i zarządzanie nim. Maszyny wirtualne w zestawie skalowania możesz skalować ręcznie lub możesz zdefiniować reguły skalowania automatycznego na podstawie użycia takich zasobów jak procesor CPU, zapotrzebowanie na pamięć lub ruch sieciowy. Moduł równoważenia obciążenia platformy Azure następnie dystrybuuje ruch do wystąpień maszyn wirtualnych w zestawie skalowania. W tym przewodniku Szybki start utworzysz zestaw skalowania maszyn wirtualnych i wdrożysz przykładową aplikację przy użyciu szablonu usługi Azure Resource Manager (szablonu usługi ARM).

Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.

Szablony usługi ARM umożliwiają wdrażanie grup powiązanych zasobów. W jednym szablonie można utworzyć zestaw skalowania maszyn wirtualnych, zainstalować aplikacje i skonfigurować reguły skalowania automatycznego. Korzystając ze zmiennych i parametrów, można ponownie użyć tego szablonu, aby zaktualizować istniejące zestawy skalowania lub utworzyć dodatkowe. Szablony można wdrażać za pośrednictwem witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell bądź z poziomu potoków ciągłej integracji/ciągłego dostarczania (CI/CD).

Jeśli Twoje środowisko spełnia wymagania wstępne i masz doświadczenie w korzystaniu z szablonów ARM, wybierz przycisk Wdróż na platformie Azure. Szablon zostanie otwarty w witrynie Azure Portal.

Button to deploy the Resource Manager template to Azure.

Wymagania wstępne

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

Przegląd szablonu

Szablon używany w tym przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy Azure.

Te zasoby są zdefiniowane w szablonie:

Definiowanie zestawu skalowania

Aby utworzyć skalę przy użyciu szablonu, należy zdefiniować odpowiednie zasoby. Podstawowe części typu zasobu Zestaw skalowania maszyn wirtualnych to:

Właściwości Opis właściwości Przykładowa wartość szablonu
type Typ zasobu platformy Azure do utworzenia Microsoft.Compute/virtualMachineScaleSets
name Nazwa zestawu skalowania myScaleSet
lokalizacja Lokalizacja utworzenia zestawu skalowania Wschodnie stany USA
sku.name Rozmiar maszyny wirtualnej dla każdego wystąpienia zestawu skalowania Standardowa_A1
sku.capacity Liczba wystąpień maszyn wirtualnych do początkowego utworzenia 2
upgradePolicy.mode Tryb uaktualniania wystąpienia maszyny wirtualnej w przypadku wprowadzenia zmian Automatyczne
imageReference Platforma lub obraz niestandardowy do użycia na potrzeby wystąpień maszyn wirtualnych Canonical Ubuntu Server 16.04-LTS
osProfile.computerNamePrefix Prefiks nazwy dla każdego wystąpienia maszyny wirtualnej myvmss
osProfile.adminUsername Nazwa użytkownika dla każdego wystąpienia maszyny wirtualnej użytkownik_azure
osProfile.adminPassword Hasło dla każdego wystąpienia maszyny wirtualnej P@ssw0rd!

Aby dostosować szablon zestawu skalowania, możesz zmienić rozmiar maszyny wirtualnej lub pojemność początkową. Inną opcją jest użycie innej platformy lub obrazu niestandardowego.

Dodawanie przykładowej aplikacji

Aby przetestować zestaw skalowania, należy zainstalować podstawową aplikację internetową. Gdy wdrażasz zestaw skalowania, rozszerzenia maszyn wirtualnych mogą dostarczać konfigurację po wdrożeniu oraz zadania automatyzacji, takie jak instalowanie aplikacji. Skrypty można pobrać z usługi Azure Storage lub GitHub bądź można je dostarczyć do witryny Azure Portal w czasie wykonywania rozszerzenia. Aby zastosować rozszerzenie do zestawu skalowania, dodaj sekcję extensionProfile do przedstawionego wcześniej przykładu zasobów. Profil rozszerzenia zwykle definiuje następujące właściwości:

  • Typ rozszerzenia
  • Wydawca rozszerzenia
  • Wersja rozszerzenia
  • Lokalizacja konfiguracji lub skryptów instalacji
  • Polecenia do wykonania na wystąpieniach maszyn wirtualnych

Szablon używa rozszerzenia niestandardowego skryptu do zainstalowania platformy Bottle, struktury internetowej języka Python i prostego serwera HTTP.

Dwa skrypty zostały zdefiniowane w plikach fileUris - installserver.sh i workserver.py. Te pliki są pobierane z usługi GitHub, a następnie uruchamia bash installserver.sh polecenieToExecute w celu zainstalowania i skonfigurowania aplikacji.

Wdrażanie szablonu

Szablon można wdrożyć, wybierając następujący przycisk Wdróż na platformie Azure . Ten przycisk otwiera witrynę Azure Portal, ładuje pełny szablon i wyświetla monit o podanie kilku parametrów, takich jak nazwa zestawu skalowania, liczba wystąpień i poświadczenia administratora.

Button to deploy the Resource Manager template to Azure.

Szablon usługi Resource Manager można również wdrożyć przy użyciu interfejsu wiersza polecenia platformy Azure:

# Create a resource group
az group create --name myResourceGroup --location EastUS

# Deploy template into resource group
az deployment group create \
    --resource-group myResourceGroup \
    --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/application-workloads/python/vmss-bottle-autoscale/azuredeploy.json

Wprowadź dane w monitach, aby podać nazwę zestawu skalowania, liczbę wystąpień i poświadczenia administratora dla wystąpień maszyn wirtualnych. Utworzenie zestawu skalowania i zasobów pomocniczych trwa kilka minut.

Weryfikowanie wdrożenia

Aby zapoznać się z działaniem zestawu skalowania, uzyskaj dostęp do przykładowej aplikacji internetowej w przeglądarce internetowej. Uzyskaj publiczny adres IP modułu równoważenia obciążenia za pomocą polecenia az network public-ip list w następujący sposób:

az network public-ip list \
    --resource-group myResourceGroup \
    --query [*].ipAddress -o tsv

Wprowadź publiczny adres IP modułu równoważenia obciążenia w przeglądarce internetowej w formacie http://publicIpAddress:9000/do_work. Moduł równoważenia obciążenia kieruje ruch do jednego z wystąpień maszyn wirtualnych, jak pokazano w poniższym przykładzie:

Default web page in NGINX

Czyszczenie zasobów

Gdy grupa zasobów, zestaw skalowania i wszystkie pokrewne zasoby nie będą już potrzebne, można je usunąć za pomocą polecenia az group delete w następujący sposób. Parametr --no-wait zwraca kontrolę do wiersza polecenia bez oczekiwania na zakończenie operacji. Parametr --yes potwierdza, że chcesz usunąć zasoby bez wyświetlania dodatkowego monitu.

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

Następne kroki

W tym przewodniku Szybki start utworzono zestaw skalowania systemu Linux z szablonem usługi ARM i użyto rozszerzenia niestandardowego skryptu do zainstalowania podstawowego serwera internetowego języka Python na wystąpieniach maszyn wirtualnych. Aby dowiedzieć się więcej, przejdź do samouczka dotyczącego tworzenia zestawów skalowania maszyn wirtualnych platformy Azure i zarządzania nimi.