Sdílet prostřednictvím


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

Poznámka:

Mnoho kroků uvedených v tomto dokumentu platí pro škálovací sady virtuálních počítačů pomocí režimu Uniform Orchestraation. Pro nové úlohy doporučujeme používat flexibilní orchestraci. Další informace najdete v tématu Režimy orchesration pro škálovací sady virtuálních počítačů v Azure.

V průběhu ž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 PowerShellu, které umožňují provádět tyto úlohy.

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

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si 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ě s názvem 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 parametr do rutiny Get-AzVmssVM 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ě s názvem myScaleSet a myResourceGroup resource group. 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 instanceView pro všechny instance v jednom volání rozhraní API, což může pomoct zabránit omezování rozhraní API pro velké instalace.

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 vaší š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 kapacitu změnit. Š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 vytvořte objekt škálovací sady pomocí rutiny Get-AzVmss a zadejte novou hodnotu pro sku.capacity. Pokud chcete použít změnu kapacity, použijte 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 zastavit jeden nebo více virtuálních počítačů ve škálovací sadě, použijte 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ě s názvem myScaleSet a myResourceGroup skupina prostředků. 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 více virtuálních počítačů ve škálovací sadě, použijte 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 myResourceGroup skupina prostředků. 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 více virtuálních počítačů ve škálovací sadě, použijte 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 odebrat jeden nebo více virtuálních počítačů ve škálovací sadě, použijte Remove-AzVmss. Tento -InstanceId parametr umožňuje zadat 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 škálovacích sad patří postup 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.