Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Při vytváření škálovací sady definujete počet instancí virtuálních počítačů, které chcete spouštět. S měnícími se požadavky na aplikaci můžete počet instancí virtuálních počítačů automaticky zvyšovat nebo snižovat. Možnost automatického škálování umožňuje držet krok s požadavky zákazníků nebo reagovat na změny výkonu aplikace v průběhu jejího životního cyklu. V tomto kurzu se naučíte:
- Použití automatického škálování u škálovací sady
- Vytvoření a použití pravidel automatického škálování
- Simulace zatížení procesoru pro aktivaci pravidel automatického škálování
- Monitorování akcí automatického škálování při změnách poptávky
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Pokud chcete spouštět referenční příkazy CLI lokálně, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Pro více informací, viz Jak spustit Azure CLI v Docker kontejneru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Chcete-li dokončit proces ověřování, postupujte podle kroků zobrazených ve vašem terminálu. Další možnosti přihlášení najdete v tématu Ověřování v Azure pomocí Azure CLI.
Když budete vyzváni, nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Použití a správa rozšíření pomocí Azure CLI.
Spusťte az version, abyste zjistili verzi a závislé knihovny, které jsou nainstalovány. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Tento kurz vyžaduje verzi 2.0.32 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Vytvořte škálovací sadu
Vytvořte skupinu prostředků pomocí příkazu az group create.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="WestUS2"
export MY_RESOURCE_GROUP_NAME="myResourceGroup$RANDOM_SUFFIX"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
Teď vytvořte škálovací sadu virtuálních počítačů pomocí příkazu az vmss create. Následující příklad vytvoří škálovací sadu s počtem instancí 2, vygeneruje klíče SSH, pokud neexistují, a používá platnou image Ubuntu2204.
export MY_SCALE_SET_NAME="myScaleSet$RANDOM_SUFFIX"
az vmss create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_SCALE_SET_NAME \
--image Ubuntu2204 \
--orchestration-mode Flexible \
--instance-count 2 \
--admin-username azureuser \
--generate-ssh-keys
Definice profilu automatického škálování
Pokud chcete povolit automatické škálování na škálovací sadě, je nejdříve potřeba definovat profil automatického škálování. Tento profil definuje výchozí, minimální a maximální kapacitu škálovací sady. Tato omezení umožňují řídit náklady tím, že neustále nevytvářejí instance virtuálních počítačů a vyrovnávají přijatelný výkon s minimálním počtem instancí, které zůstávají v události škálování. Vytvořte profil automatického škálování pomocí příkazu az monitor autoscale create. Následující příklad nastaví výchozí a minimální kapacitu 2 instancí virtuálních počítačů a maximálně 10:
az monitor autoscale create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--resource $MY_SCALE_SET_NAME \
--resource-type Microsoft.Compute/virtualMachineScaleSets \
--name autoscale \
--min-count 2 \
--max-count 10 \
--count 2
Vytvoření pravidla automatického horizontálního navýšení kapacity
Pokud se požadavky na vaši aplikaci zvýší, zvýší se i zatížení instancí virtuálních počítačů ve škálovací sadě. Pokud je toto zvýšené zatížení konzistentní, a ne jen krátká poptávka, můžete nakonfigurovat pravidla automatického škálování, aby se zvýšil počet instancí virtuálních počítačů. Když se tyto instance vytvoří a vaše aplikace se nasadí, škálovací sada začne distribuovat provoz do nich prostřednictvím nástroje pro vyrovnávání zatížení. Určujete, které metriky se mají monitorovat, jak dlouho musí zatížení splňovat danou prahovou hodnotu a kolik instancí virtuálních počítačů se má přidat.
Vytvořte pravidlo pomocí pravidla az monitor autoscale, které zvýší počet instancí virtuálních počítačů, pokud je průměrné zatížení procesoru větší než 70% za 5 minut. Když se pravidlo aktivuje, počet instancí virtuálních počítačů se zvýší o tři.
az monitor autoscale rule create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--autoscale-name autoscale \
--condition "Percentage CPU > 70 avg 5m" \
--scale out 3
Vytvoření pravidla automatického horizontálního snížení kapacity
Když se poptávka po aplikacích sníží, zatížení instancí virtuálních počítačů se sníží. Pokud se toto snížené zatížení po určitou dobu zachová, můžete nakonfigurovat pravidla automatického škálování tak, aby se snížil počet instancí virtuálních počítačů ve škálovací sadě. Tato akce škálování pomáhá snížit náklady spuštěním pouze potřebného počtu instancí potřebných ke splnění aktuální poptávky.
Vytvořte další pravidlo pomocí příkazu az monitor autoscale rule create , které sníží počet instancí virtuálních počítačů, když průměrné zatížení procesoru klesne pod 30% za 5 minut. Následující příklad zvětšuje počet instancí virtuálních počítačů o jeden.
az monitor autoscale rule create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--autoscale-name autoscale \
--condition "Percentage CPU < 30 avg 5m" \
--scale in 1
Simulace zatížení procesoru ve škálovací sadě
Pokud chcete otestovat pravidla automatického škálování, musíte simulovat trvalé zatížení procesoru u instancí virtuálních počítačů ve škálovací sadě. V tomto minimalistickém přístupu se vyhneme instalaci dalších balíčků pomocí integrovaného yes příkazu ke generování zatížení procesoru. Následující příkaz spustí 3 procesy na pozadí, které nepřetržitě vypíše data na /dev/null 60 sekund a pak je ukončí.
for i in {1..3}; do
yes > /dev/null &
done
sleep 60
pkill yes
Tento příkaz simuluje zatížení procesoru bez zavedení chyb instalace balíčku.
Monitorování aktivních pravidel automatického škálování
Pokud chcete monitorovat počet instancí virtuálních počítačů ve škálovací sadě, použijte watch příkaz. Spuštění procesu škálování v reakci na zatížení procesoru může trvat až 5 minut. Jakmile k tomu dojde, můžete ukončit sledování pomocí kláves CTRL+C .
Škálovací sada pak automaticky zvýší počet instancí virtuálních počítačů tak, aby splňovaly poptávku. Následující příkaz zobrazí seznam instancí virtuálních počítačů ve škálovací sadě:
az vmss list-instances \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_SCALE_SET_NAME \
--output table
Po dosažení prahové hodnoty CPU pravidla automatického škálování navýší počet instancí virtuálních počítačů ve škálovací sadě. Ve výstupu se zobrazí seznam instancí virtuálních počítačů, které se vytvoří jako nové.
InstanceId LatestModelApplied Location Name ProvisioningState ResourceGroup VmId
------------ -------------------- ---------- --------------- ------------------- -------------------- ------------------------------------
1 True WestUS2 myScaleSet_1 Succeeded myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2 True WestUS2 myScaleSet_2 Succeeded myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
4 True WestUS2 myScaleSet_4 Creating myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
5 True WestUS2 myScaleSet_5 Creating myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
6 True WestUS2 myScaleSet_6 Creating myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Po poklesu zatížení procesoru se průměrné zatížení procesoru vrátí do normálního stavu. Po dalších 5 minutách pak pravidla automatického škálování škálují počet instancí virtuálních počítačů na méně instancí. Akce pro snížení kapacity odeberou instance virtuálních počítačů s nejvyšším ID jako první. Pokud škálovací sada používá skupiny dostupnosti nebo zóny dostupnosti, akce horizontálního snížení kapacity se rovnoměrně distribuují napříč instancemi virtuálních počítačů. Následující ukázkový výstup ukazuje, že se při automatickém škálování škálovací sady odstraní jedna instance virtuálního počítače:
6 True WestUS2 myScaleSet_6 Deleting myResourceGroupxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Vyčistěte zdroje
Pokud chcete odebrat škálovací sadu a přidružené prostředky, odstraňte skupinu prostředků ručně pomocí preferované metody.
Další kroky
V tomto kurzu jste zjistili, jak automaticky škálovat škálovací sady na méně nebo více instancí pomocí Azure CLI:
- Použití automatického škálování u škálovací sady
- Vytvoření a použití pravidel automatického škálování
- Simulace zatížení procesoru pro aktivaci pravidel automatického škálování
- Monitorování akcí automatického škálování při změnách poptávky