Oktatóanyag: Virtuálisgép-méretezési csoport automatikus méretezése az Azure CLI-vel
Figyelemfelhívás
Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.
Méretezési csoport létrehozásakor meghatározza a futtatni kívánt virtuálisgép-példányok számát. Az alkalmazás igényeihez igazodva automatikusan növelheti vagy csökkentheti a virtuálisgép-példányok számát. Az automatikus méretezésnek köszönhetően lépést tarthat az ügyfeleik igényeivel és az alkalmazás teljes élettartama alatt reagálhat az alkalmazás teljesítményében bekövetkezett változásokra. Ezen oktatóanyag segítségével megtanulhatja a következőket:
- Automatikus skálázás használata méretezési csoportokkal
- Automatikus skálázási szabályok létrehozása és használata
- Virtuálisgép-példányok és automatikus skálázás-aktiválási szabályok terhelési tesztje
- Visszaméretezés, ha az igény csökken
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ehhez az oktatóanyaghoz az Azure CLI 2.0.32-es vagy újabb verziója szükséges. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
Méretezési csoport létrehozása
Hozzon létre egy erőforráscsoportot az az group create paranccsal.
az group create --name myResourceGroup --location eastus
Most hozzon létre egy virtuálisgép-méretezési csoportot az az vmss create használatával. Az alábbi példa egy 2 példányszámú méretezési csoportot hoz létre, és SSH-kulcsokat hoz létre, ha nem léteznek.
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--image <SKU image> \
--orchestration-mode Flexible \
--instance-count 2 \
--admin-username azureuser \
--generate-ssh-keys
Automatikus skálázási profil meghatározása
Az automatikus skálázás méretezési csoportban történő engedélyezéséhez először határozza meg az automatikus skálázási profilt. Ez a profil határozza meg a méretezési csoport alapértelmezett, minimális és maximális kapacitását. Ezek a korlátok lehetővé teszik a költségek szabályozását azáltal, hogy nem hoz létre folyamatosan virtuálisgép-példányokat, és kiegyensúlyozza az elfogadható teljesítményt a méretarányos eseményben maradó példányok minimális számával. Automatikus skálázási profilt az az monitor autoscale create paranccsal hozhat létre. A következő példa a virtuálisgép-példányok alapértelmezett és egyben minimális (2), valamint a maximális (10) értékét állítja be:
az monitor autoscale create \
--resource-group myResourceGroup \
--resource myScaleSet \
--resource-type Microsoft.Compute/virtualMachineScaleSets \
--name autoscale \
--min-count 2 \
--max-count 10 \
--count 2
Automatikus felskálázási szabály létrehozása
Az alkalmazás növekvő igényeivel párhuzamosan a méretezési csoportban lévő virtuálisgép-példányok terhelése is nő. Ha a megnövekedett terhelés állandó, nem csak pillanatnyi igény, akkor megadhatja, hogy az automatikus skálázási szabály növelje meg a virtuálisgép-példányok számát a méretezési csoportban. Ezen virtuálisgép-példányok létrehozását és az alkalmazások telepítését követően a méretezési csoport megkezdi a forgalom elosztását közöttük a terheléselosztón keresztül. Beállíthatja, hogy milyen metrikákat monitoroz, mennyi ideig kell az alkalmazás terhelésének megfelelnie egy adott küszöbértéknek, és hány virtuálisgép-példányt kell hozzáadnia a méretezési csoporthoz.
Hozzon létre egy szabályt az az monitor automatikus skálázási szabályával, amely növeli a méretezési csoportban lévő virtuálisgép-példányok számát, ha az átlagos processzorterhelés 5 perc alatt meghaladja a 70%-ot. A szabály aktiválásakor a virtuálisgép-példányok száma hárommal nő.
az monitor autoscale rule create \
--resource-group myResourceGroup \
--autoscale-name autoscale \
--condition "Percentage CPU > 70 avg 5m" \
--scale out 3
Automatikus leskálázási szabály létrehozása
Az este vagy a hétvége folyamán az alkalmazás igényei csökkenhetnek. Ha a csökkent terhelés egy adott időtartam alatt állandó, akkor megadhatja, hogy az automatikus skálázási szabály csökkentse a virtuálisgép-példányok számát a méretezési csoportban. A horizontális leskálázási művelet csökkenti a méretezési csoport futtatásának költségeit, mivel csak az aktuális igényt kielégítő számú példányt futtat.
Hozzunk létre egy másik szabályt az az monitor autoscale rule create paranccsal a méretezési csoportban lévő virtuálisgép-példányok csökkentésére, ha az átlagos processzorterhelés ezután 5 percen keresztül nem éri el a 30%-ot. Az alábbi példa a virtuálisgép-példányok mennyiségét eggyel leskálázó szabályt definiálja.
az monitor autoscale rule create \
--resource-group myResourceGroup \
--autoscale-name autoscale \
--condition "Percentage CPU < 30 avg 5m" \
--scale in 1
Processzorterhelés létrehozása a méretezési csoportban
Az automatikus skálázási szabályok teszteléséhez hozzon létre némi processzorterhelést a méretezési csoportban lévő virtuálisgép-példányokhoz. Ezen szimulált processzorterhelés hatására az automatikus méretezési szabályok horizontálisan felskáláznak, és megnövelik a virtuálisgép-példányok számát. A szimulált processzorterhelés ezt követő csökkentésével az automatikus méretezési szabály horizontálisan leskáláz, és csökkenti a virtuálisgép-példányok számát.
Ha egy adott példányhoz szeretne csatlakozni, tekintse meg az oktatóanyagot: Csatlakozás a virtuálisgép-méretezési csoport példányaihoz
Miután bejelentkezett, telepítse a stressz vagy a stress-ng segédprogramot. Indítson el 10terhelési feldolgozót, amelyek processzorterhelést hoznak létre. Ezek a feldolgozók 420 másodpercig futnak. Ez elegendő idő ahhoz, hogy az automatikus méretezési szabályok alkalmazzák a kívánt műveletet.
sudo apt-get update
sudo apt-get -y install stress
sudo stress --cpu 10 --timeout 420 &
Ha a stress segédprogram a stress: info: [2688] dispatching hogs: 10 cpu, 0 io, 0 vm, 0 hdd kimenethez hasonló értékeket mutat, nyomja le az Enter billentyűt a parancssorhoz való visszatéréshez.
Annak megerősítéséhez, hogy a stress segédprogram processzorterhelést hoz létre, vizsgálja meg az aktív rendszerterhelést a top segédprogram segítségével:
top
Lépjen ki a top segédprogramból, majd zárja be a virtuálisgép-példánnyal létesített kapcsolatot. A stress segédprogram továbbra is fut a virtuálisgép-példányon.
Ctrl-c
exit
Csatlakozzon a másik virtuálisgép-példányhoz az előző az vmss list-instance-connection-info paranccsal listázott portszám segítségével:
ssh azureuser@13.92.224.66 -p 50003
Telepítse és futtassa a stressz - vagy stressz-ng műveletet, majd kezdjen tíz feldolgozót ezen a második virtuálisgép-példányon.
sudo apt-get -y install stress
sudo stress --cpu 10 --timeout 420 &
Ismét, ha a stress segédprogram a stress: info: [2713] dispatching hogs: 10 cpu, 0 io, 0 vm, 0 hdd kimenethez hasonló értékeket mutat, nyomja le az Enter billentyűt a parancssorhoz való visszatéréshez.
Zárja be a második virtuálisgép-példánnyal létesített kapcsolatot. A stress segédprogram továbbra is fut a virtuálisgép-példányon.
exit
Aktív automatikus skálázási szabályok monitorozása
A méretezési csoportban lévő virtuálisgép-példányok számának monitorozásához használja a watch segédprogramot. Az egyes virtuálisgép-példányokon 5 percet vesz igénybe, mire az automatikus skálázási szabályok megkezdik a horizontális felskálázási folyamatot a stress segédprogram által létrehozott processzorterhelésre válaszul:
watch az vmss list-instances \
--resource-group myResourceGroup \
--name myScaleSet \
--output table
Ha elérte a processzor küszöbértékét, az automatikus méretezési szabályok megnövelik a méretezési csoportban lévő virtuálisgép-példányok számát. Az alábbi kimenet három virtuális gép létrejöttét mutatja, amint a méretezési csoport automatikusan felskálázódik:
Every 2.0s: az vmss list-instances --resource-group myResourceGroup --name myScaleSet --output table
InstanceId LatestModelApplied Location Name ProvisioningState ResourceGroup VmId
------------ -------------------- ---------- ------------ ------------------- --------------- ------------------------------------
1 True eastus myScaleSet_1 Succeeded myResourceGroup 4f92f350-2b68-464f-8a01-e5e590557955
2 True eastus myScaleSet_2 Succeeded myResourceGroup d734cd3d-fb38-4302-817c-cfe35655d48e
4 True eastus myScaleSet_4 Creating myResourceGroup 061b4c90-0d73-49fc-a066-19eab0b3d95c
5 True eastus myScaleSet_5 Creating myResourceGroup 4beff8b9-4e65-40cb-9652-43899309da27
6 True eastus myScaleSet_6 Creating myResourceGroup 9e4133dd-2c57-490e-ae45-90513ce3b336
Amint a stress segédprogram leáll a kezdeti virtuálisgép-példányokon, az átlagos processzorterhelés visszatér a normális szintre. Újabb 5 perc elteltével az automatikus méretezési szabályok horizontálisan leskálázzák a virtuálisgép-példányok számát. A horizontális leskálázási műveletek először a legmagasabb azonosítóval rendelkező virtuálisgép-példányokat távolítják el. Ha egy méretezési csoport az Availability Sets vagy az Availability Zones funkciót használja, a horizontális leskálázási műveletek egyenletesen lesznek elosztva a virtuálisgép-példányok között. Az alábbi kimeneti példa egy virtuálisgép-példány törlését mutatja, ahogy a méretezési csoport automatikusan leskálázódik:
6 True eastus myScaleSet_6 Deleting myResourceGroup 9e4133dd-2c57-490e-ae45-90513ce3b336
Lépjen ki a watch segédprogramból a Ctrl-c
paranccsal. A méretezési csoport folytatja az 5 percenkénti horizontális leskálázást, és eltávolít egy virtuálisgép-példányt, amíg el nem éri a minimális két példányos értéket.
Az erőforrások eltávolítása
A méretezési csoport és további erőforrások eltávolításához törölje az erőforráscsoportot és az ahhoz tartozó összes erőforrást az az group delete paranccsal. A --no-wait
paraméter visszaadja a vezérlést a parancssornak, és nem várja meg a művelet befejeztét. A --yes
paraméter megerősíti, hogy további kérdés nélkül szeretné törölni az erőforrásokat.
az group delete --name myResourceGroup --yes --no-wait
Következő lépések
Ez az oktatóanyag bemutatta, hogyan lehet automatikusan horizontálisan le- illetve felskálázni egy méretezési csoportot az Azure CLI használatával:
- Automatikus skálázás használata méretezési csoportokkal
- Automatikus skálázási szabályok létrehozása és használata
- Virtuálisgép-példányok és automatikus skálázás-aktiválási szabályok terhelési tesztje
- Visszaméretezés, ha az igény csökken