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
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
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.