Správa škálovací sady virtuálních počítačů pomocí Azure PowerShell

Poznámka

Mnoho kroků uvedených v tomto dokumentu platí pro Virtual Machine Scale Sets s režimem jednotné orchestrace. Pro nové úlohy doporučujeme používat flexibilní orchestraci. Další informace najdete v tématu Režimy orchesration pro Virtual Machine Scale Sets v Azure.

Během životního cyklu škálovací sady virtuálních počítačů možná budete muset spustit jednu nebo více úloh správy. Kromě toho možná budete chtít vytvořit skripty pro automatizaci různých úloh souvisejících s životním cyklem. Tento článek podrobně popisuje některé běžné rutiny Azure PowerShell, které umožňují provádět tyto úlohy.

Pokud potřebujete vytvořit škálovací sadu virtuálních počítačů, můžete ji vytvořit pomocí Azure PowerShell.

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Zobrazení informací o škálovací sadě

Pokud chcete zobrazit celkové informace o škálovací sadě, použijte rutinu Get-AzVmss. Následující příklad získá informace o škálovací sadě myScaleSet ve skupině prostředků myResourceGroup . Zadejte vlastní jména následujícím způsobem:

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

Zobrazení virtuálních počítačů ve škálovací sadě

Pokud chcete zobrazit seznam instancí virtuálních počítačů ve škálovací sadě, použijte rutinu Get-AzVmssVM. Následující příklad uvádí všechny instance virtuálních počítačů ve škálovací sadě s názvem myScaleSet a ve skupině prostředků myResourceGroup . Zadejte vlastní hodnoty pro tyto názvy:

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

Pokud chcete zobrazit další informace o konkrétní instanci virtuálního počítače, přidejte -InstanceId do rutiny Get-AzVmssVM parametr a zadejte instanci, která se má zobrazit. Následující příklad zobrazuje informace o instanci virtuálního počítače 0 ve škálovací sadě myScaleSet a skupině prostředků myResourceGroup . Zadejte vlastní jména následujícím způsobem:

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

Můžete také získat podrobné informace o instanciView pro všechny instance v jednom volání rozhraní API, což vám pomůže vyhnout se omezování rozhraní API u rozsáhlých instalací.

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"

Změna kapacity škálovací sady

Předchozí příkazy zobrazily informace o škálovací sadě a instancích virtuálních počítačů. Pokud chcete zvýšit nebo snížit počet instancí ve škálovací sadě, můžete změnit kapacitu. Škálovací sada automaticky vytvoří nebo odebere požadovaný počet virtuálních počítačů a pak nakonfiguruje virtuální počítače tak, aby přijímaly provoz aplikací.

Nejprve pomocí rutiny Get-AzVmss vytvořte objekt škálovací sady a pak zadejte novou hodnotu pro sku.capacity. Pokud chcete použít změnu kapacity, použijte rutinu Update-AzVmss. Následující příklad aktualizuje myScaleSet ve skupině prostředků myResourceGroup na kapacitu 5 instancí. Zadejte vlastní hodnoty následujícím způsobem:

# 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

Aktualizace kapacity škálovací sady trvá několik minut. Pokud snížíte kapacitu škálovací sady, odeberou se nejprve virtuální počítače s nejvyššími ID instancí.

Zastavení a spuštění virtuálních počítačů ve škálovací sadě

Pokud chcete ve škálovací sadě zastavit jeden nebo více virtuálních počítačů, použijte rutinu Stop-AzVmss. Pomocí parametru -InstanceId můžete zadat jeden nebo několik virtuálních počítačů, které se mají zastavit. Pokud nezadáte ID instance, zastaví se všechny virtuální počítače ve škálovací sadě. Pokud chcete zastavit více virtuálních počítačů, oddělte každé ID instance čárkou.

Následující příklad zastaví instanci 0 ve škálovací sadě myScaleSet a skupině prostředků myResourceGroup . Zadejte vlastní hodnoty následujícím způsobem:

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

Ve výchozím nastavení se zastavené virtuální počítače uvolní a neúčtují se u nich poplatky za výpočty. Pokud chcete, aby virtuální počítače po zastavení zůstaly ve zřízeném stavu, přidejte k předchozímu příkazu parametr -StayProvisioned. U zastavených virtuálních počítačů, které zůstanou zřízené, se účtují obvyklé poplatky za výpočty.

Spuštění virtuálních počítačů ve škálovací sadě

Pokud chcete spustit jeden nebo několik virtuálních počítačů ve škálovací sadě, použijte rutinu Start-AzVmss. Pomocí parametru -InstanceId můžete zadat jeden nebo několik virtuálních počítačů, které se mají spustit. Pokud nezadáte ID instance, spustí se všechny virtuální počítače ve škálovací sadě. Pokud chcete spustit více virtuálních počítačů, oddělte každé ID instance čárkou.

Následující příklad spustí instanci 0 ve škálovací sadě s názvem myScaleSet a skupinu prostředků myResourceGroup . Zadejte vlastní hodnoty následujícím způsobem:

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

Restartování virtuálních počítačů ve škálovací sadě

Pokud chcete restartovat jeden nebo několik virtuálních počítačů ve škálovací sadě, použijte rutinu Restart-AzVmss. Pomocí parametru -InstanceId můžete zadat jeden nebo několik virtuálních počítačů, které se mají restartovat. Pokud nezadáte ID instance, restartují se všechny virtuální počítače ve škálovací sadě. Pokud chcete restartovat více virtuálních počítačů, oddělte každé ID instance čárkou.

Následující příklad restartuje instanci 0 ve škálovací sadě s názvem myScaleSet a skupinu prostředků myResourceGroup . Zadejte vlastní hodnoty následujícím způsobem:

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

Odebrání virtuálních počítačů ze škálovací sady

Pokud chcete ve škálovací sadě odebrat jeden nebo několik virtuálních počítačů, použijte rutinu Remove-AzVmss. Parametr -InstanceId umožňuje určit jeden nebo více virtuálních počítačů, které se mají odebrat. Pokud nezadáte ID instance, odeberou se všechny virtuální počítače ve škálovací sadě. Pokud chcete odebrat více virtuálních počítačů, oddělte každé ID instance čárkou.

Následující příklad odebere instanci 0 ve škálovací sadě s názvem myScaleSet a skupinu prostředků myResourceGroup . Zadejte vlastní hodnoty následujícím způsobem:

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

Další kroky

Mezi další běžné úlohy pro škálovací sady patří nasazení aplikace a upgrade instancí virtuálních počítačů. Ke konfiguraci pravidel automatického škálování můžete použít také Azure PowerShell.