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.
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:
- Microsoft.Network/virtualNetworks
- Microsoft.Network/publicIPAddresses
- Microsoft.Network/loadBalancers
- Microsoft.Compute/virtualMachineScaleSets
- Microsoft.Insights/autoscaleSettings
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.
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:
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.