Oktatóanyag: virtuálisgép-méretezési csoport automatikus méretezése az Azure CLI használatával

Méretezési csoport létrehozásakor meg kell határoznia a futtatni kívánt virtuálisgép-példányok számát. Az alkalmazás igényeinek változásával automatikusan növelheti vagy csökkentheti a virtuálisgép-példányok számát. Az automatikus skálázás lehetővé teszi, hogy lépést tartson az ügyfelek igényeivel, vagy reagáljon az alkalmazás teljesítményváltozására az alkalmazás teljes életciklusa során. Ebből az oktatóanyagból megtudhatja, hogyan:

  • Automatikus skálázás használata méretezési csoportokkal
  • Automatikus skálázási szabályok létrehozása és használata
  • Cpu-terhelés szimulálása automatikus skálázási szabályok aktiválásához
  • Automatikus skálázási műveletek figyelése igényváltozásként

Ha még nem rendelkezik Azure-fiókkal, első lépésként hozzon létre egy ingyenes fiókot.

Előfeltételek

  • 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.

Skálázási készlet létrehozása

Hozzon létre egy erőforráscsoportot a az group create parancs segítségével.

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

Hozzon létre most egy virtuálisgép-méretezési készletet 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, SSH-kulcsokat hoz létre, ha nem léteznek, és egy érvényes Ubuntu2204 rendszerképet használ.

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

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. Az alábbi példa 2 virtuálisgép-példány alapértelmezett és minimális kapacitását állítja be, legfeljebb 10-et:

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

Automatikus felskálázási szabály létrehozása

Ha az alkalmazás igénye növekszik, a skálakészletben lévő VM példányok terhelése is nő. Ha ez a megnövekedett terhelés konzisztens, és nem csak egy rövid igény, automatikus méretezési szabályokat is konfigurálhat a virtuálisgép-példányok számának növeléséhez. Amikor ezek a példányok elkészülnek, és az alkalmazást telepítik, a méretezési készlet elkezdi elosztani a forgalmat számukra a terheléselosztón keresztül. Ön határozza meg, hogy mely metrikákat kell figyelnie, mennyi ideig kell a terhelésnek megfelelnie egy adott küszöbértéknek, és hány virtuálisgép-példányt kell hozzáadnia.

Hozzon létre egy szabályt az az monitor automatikus skálázási szabályával , amely növeli a virtuálisgép-példányok számát, ha az átlagos cpu-terhelés 70-nél nagyobb% egy 5 perces időszakban. Amikor a szabály életbe lép, a VM-példányok száma hárommal nő.

az monitor autoscale rule create \
  --resource-group $MY_RESOURCE_GROUP_NAME \
  --autoscale-name autoscale \
  --condition "Percentage CPU > 70 avg 5m" \
  --scale out 3

Automatikus skálázási szabály létrehozása

Ha az alkalmazásigény csökken, a virtuálisgép-példányok terhelése csökken. Ha ez a csökkentett terhelés egy adott időszak alatt is megmarad, automatikus méretezési szabályokat konfigurálhat a méretezési csoportban lévő virtuálisgép-példányok számának csökkentésére. Ez a méretezési művelet segít csökkenteni a költségeket, ha csak a szükséges számú példányt futtatja az aktuális igények kielégítéséhez.

Hozzon létre egy másik szabályt a az monitor autoscale rule create paranccsal, amely csökkenti a virtuálisgép-példányok számát, amikor az átlagos CPU-terhelés egy 5 perces időszak során 30% alá csökken. Az alábbi példa a virtuálisgép-példányok számát skálázza eggyel.

az monitor autoscale rule create \
  --resource-group $MY_RESOURCE_GROUP_NAME \
  --autoscale-name autoscale \
  --condition "Percentage CPU < 30 avg 5m" \
  --scale in 1

A méretezési csoport processzorterhelésének szimulálása

Az automatikus skálázási szabályok teszteléséhez a méretezési csoportban lévő virtuálisgép-példányokon tartós processzorterhelést kell szimulálnia. Ebben a minimalista megközelítésben a beépített yes parancs használatával kerüljük el a további csomagok telepítését, hogy CPU-terhelést generáljunk. Az alábbi parancs 3 háttérprocesszust indít el, amelyek 60 másodpercig folyamatosan adatokat adnak ki az /dev/null címre, majd aztán leállnak.

for i in {1..3}; do
  yes > /dev/null &
done
sleep 60
pkill yes

Ez a parancs csomagtelepítési hibák nélkül szimulálja a processzorterhelést.

Aktív automatikus skálázási szabályok monitorozása

A skálázási készletben lévő virtuális gép példányok számának figyeléséhez használja a watch parancsot. Az automatikus skálázási szabályok akár 5 percet is igénybe vehetnek a vertikális felskálázási folyamat elindításához a processzorterhelésre válaszul. Ha azonban ez megtörténik, a CTRL + C billentyűkkel kiléphet a watchból.

Addigra a méretezési csoport automatikusan növeli a virtuálisgép-példányok számát az igényeknek megfelelően. Az alábbi parancs a méretezési csoportban lévő virtuálisgép-példányok listáját mutatja:

az vmss list-instances \
  --resource-group $MY_RESOURCE_GROUP_NAME \
  --name $MY_SCALE_SET_NAME \
  --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. A kimenet újak létrehozásakor megjeleníti a virtuálisgép-példányok listáját.

  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

Ha a processzorterhelés csökken, az átlagos cpu-terhelés visszaáll a normál értékre. Újabb 5 perc elteltével az automatikus méretezési szabályok majd csökkentik a virtuálisgép-példányok számát. A méretezési műveletek először a legmagasabb azonosítójú virtuálisgép-példányokat távolítják el. Ha egy méretezési csoport rendelkezésre állási csoportokat vagy rendelkezésre állási zónákat használ, a méretezési műveletek egyenletesen oszlanak el a virtuálisgép-példányok között. Az alábbi mintakimenet egy virtuális gép példány törlését mutatja be a méretezési csoport automatikus méretezés során.

6  True                  WestUS2     myScaleSet_6  Deleting             myResourceGroupxxxxx  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Erőforrások tisztítása

A méretezési csoport és a társított erőforrások eltávolításához manuálisan törölje az erőforráscsoportot az előnyben részesített módszerrel.

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
  • Cpu-terhelés szimulálása automatikus skálázási szabályok aktiválásához
  • Automatikus skálázási műveletek figyelése igényváltozásként