Zarządzanie zestawem skalowania maszyn wirtualnych za pomocą Azure PowerShell

Uwaga

Wiele kroków wymienionych w tym dokumencie ma zastosowanie do Virtual Machine Scale Sets przy użyciu trybu jednolitej orkiestracji. Zalecamy używanie elastycznej orkiestracji dla nowych obciążeń. Aby uzyskać więcej informacji, zobacz Tryby orchesration dla Virtual Machine Scale Sets na platformie Azure.

W całym cyklu życia zestawu skalowania maszyn wirtualnych może być konieczne uruchomienie co najmniej jednego zadania zarządzania. Ponadto może pojawić się potrzeba tworzenia skryptów automatyzujących różne zadania cyklu życia. W tym artykule szczegółowo przedstawiono niektóre typowe polecenia cmdlet Azure PowerShell, które umożliwiają wykonywanie tych zadań.

Jeśli musisz utworzyć zestaw skalowania maszyn wirtualnych, możesz utworzyć zestaw skalowania z Azure PowerShell.

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wyświetlanie informacji o zestawie skalowania

Aby wyświetlić ogólne informacje o zestawie skalowania, użyj polecenia Get-AzVmss. Poniższy przykład pobiera informacje o zestawie skalowania o nazwie myScaleSet w grupie zasobów myResourceGroup . Wprowadź własne nazwy w następujący sposób:

Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Wyświetlanie maszyn wirtualnych w zestawie skalowania

Aby wyświetlić listę wystąpień maszyn wirtualnych w zestawie skalowania, użyj polecenia Get-AzVmssVM. W poniższym przykładzie wymieniono wszystkie wystąpienia maszyn wirtualnych w zestawie skalowania o nazwie myScaleSet i w grupie zasobów myResourceGroup . Podaj własne wartości dla tych nazw:

Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Aby wyświetlić dodatkowe informacje o konkretnym wystąpieniu maszyny wirtualnej, dodaj -InstanceId parametr do polecenia Get-AzVmssVM i określ wystąpienie do wyświetlenia. Poniższy przykład wyświetla informacje o wystąpieniu maszyny wirtualnej 0 w zestawie skalowania o nazwie myScaleSet i grupie zasobów myResourceGroup . Wprowadź własne nazwy w następujący sposób:

Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "0"

Możesz również uzyskać szczegółowe informacje o wystąpieniuWyświetlanie wszystkich wystąpień w jednym wywołaniu interfejsu API, co może pomóc uniknąć ograniczania przepustowości interfejsu API w przypadku dużych instalacji.

Get-AzVmssVM -InstanceView -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
GET "https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSSName>/virtualMachines?api-version=2019-03-01&%24expand=instanceView"

Zmienianie pojemności zestawu skalowania

Powyższe polecenia pokazały informacje o zestawie skalowania i wystąpieniach maszyn wirtualnych. Aby zwiększyć lub zmniejszyć liczbę wystąpień w zestawie skalowania, możesz zmienić pojemność. Zestaw skalowania automatycznie tworzy lub usuwa wymaganą liczbę maszyn wirtualnych, a następnie konfiguruje maszyny wirtualne w celu odbierania ruchu aplikacji.

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. Poniższy przykład aktualizuje zestaw myScaleSet w grupie zasobów myResourceGroup do pojemności 5 wystąpień. Podaj własne wartości w następujący sposób:

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

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

Aktualizacja pojemności zestawu skalowania trwa kilka minut. Jeśli zmniejszysz pojemność zestawu skalowania, najpierw zostaną usunięte maszyny wirtualne z najwyższymi identyfikatorami wystąpień.

Zatrzymywanie i uruchamianie maszyn wirtualnych w zestawie skalowania

Aby zatrzymać co najmniej jedną maszynę wirtualną w zestawie skalowania, użyj polecenia Stop-AzVmss. Parametr -InstanceId umożliwia wskazanie maszyn wirtualnych, które mają zostać zatrzymane. Jeśli nie podasz identyfikatora wystąpienia, zostaną zatrzymane wszystkie maszyny wirtualne w zestawie skalowania. Aby zatrzymać wiele maszyn wirtualnych, oddziel każdy identyfikator wystąpienia przecinkiem.

Poniższy przykład zatrzymuje wystąpienie 0 w zestawie skalowania o nazwie myScaleSet i grupie zasobów myResourceGroup . Podaj własne wartości w następujący sposób:

Stop-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "0"

Domyślnie następuje cofnięcie przydziału zatrzymanych maszyn wirtualnych, co sprawia, że opłaty za operacje obliczeniowe nie są naliczane. 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 maszyn wirtualnych w zestawie skalowania

Aby uruchomić co najmniej jedną maszynę wirtualną w zestawie skalowania, użyj polecenia Start-AzVmss. Parametr -InstanceId umożliwia wskazanie maszyn wirtualnych, które mają zostać uruchomione. Jeśli nie podasz identyfikatora wystąpienia, zostaną uruchomione wszystkie maszyny wirtualne w zestawie skalowania. Aby uruchomić wiele maszyn wirtualnych, oddziel każdy identyfikator wystąpienia przecinkiem.

Poniższy przykład uruchamia wystąpienie 0 w zestawie skalowania o nazwie myScaleSet i grupie zasobów myResourceGroup . Podaj własne wartości w następujący sposób:

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

Ponowne uruchamianie maszyn wirtualnych w zestawie skalowania

Aby ponownie uruchomić co najmniej jedną maszynę wirtualną w zestawie skalowania, użyj polecenia Restart-AzVmss. Parametr -InstanceId umożliwia wskazanie maszyn wirtualnych, które mają zostać uruchomione ponownie. Jeśli nie podasz identyfikatora wystąpienia, wszystkie maszyny wirtualne w zestawie skalowania zostaną uruchomione ponownie. Aby ponownie uruchomić wiele maszyn wirtualnych, oddziel każdy identyfikator wystąpienia przecinkiem.

Poniższy przykład uruchamia ponownie wystąpienie 0 w zestawie skalowania o nazwie myScaleSet i grupie zasobów myResourceGroup . Podaj własne wartości w następujący sposób:

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

Usuwanie maszyn wirtualnych z zestawu skalowania

Aby usunąć co najmniej jedną maszynę wirtualną w zestawie skalowania, użyj polecenia Remove-AzVmss. Parametr -InstanceId umożliwia określenie co najmniej jednej maszyny wirtualnej do usunięcia. Jeśli nie określisz identyfikatora wystąpienia, wszystkie maszyny wirtualne w zestawie skalowania zostaną usunięte. Aby usunąć wiele maszyn wirtualnych, oddziel każdy identyfikator wystąpienia przecinkiem.

Poniższy przykład usuwa wystąpienie 0 w zestawie skalowania o nazwie myScaleSet i grupie zasobów myResourceGroup . Podaj własne wartości w następujący sposób:

Remove-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "0"

Następne kroki

Inne typowe zadania dotyczące zestawów skalowania obejmują sposób wdrażania aplikacji i uaktualniania wystąpień maszyn wirtualnych. Można również użyć Azure PowerShell do skonfigurowania reguł skalowania automatycznego.