Egyéni méretezési szabályzatok használata azure-beli virtuálisgép-méretezési csoportokkal

A virtuálisgép-méretezési csoportok üzembe helyezése metrikatömbök , köztük platform- és felhasználó által meghatározott egyéni metrikák alapján skálázható vagy méretezhető. Míg a felskálázás új virtuális gépeket hoz létre a méretezési csoport modellje alapján, a leskálázás a futó virtuális gépekre van hatással, amelyek különböző konfigurációkkal és/vagy funkciókkal rendelkezhetnek a méretezési csoport változó számítási feladatainak megfelelően.

A méretezési szabályzat funkció lehetővé teszi a felhasználók számára, hogy három méretezési konfigurációval konfigurálják a virtuális gépek méretezési sorrendjét:

  1. Alapértelmezett
  2. NewestVM
  3. OldestVM

Alapértelmezett méretezési szabályzat

Rugalmas vezénylés

Ezzel a szabályzattal a virtuális gépek a rendelkezésre állási zónák közötti kiegyensúlyozás után lesznek vertikálisan felskálázva (ha a méretezési csoport zónakonfigurációban van), és a legrégebbi virtuális gép az adott érték szerint createdTime skálázva van először. A tartalék tartományok közötti kiegyensúlyozás nem érhető el az Alapértelmezett házirendben rugalmas vezénylési módban.

Egységes vezénylés

Alapértelmezés szerint a virtuálisgép-méretezési csoport ezt a szabályzatot alkalmazza annak meghatározására, hogy melyik példány(ok) lesznek skálázva. Az Alapértelmezett házirend esetén a virtuális gépek a következő sorrendben vannak kiválasztva a méretezéshez:

  1. Virtuális gépek kiegyensúlyozása rendelkezésre állási zónák között (ha a méretezési csoport zónakonfigurációban van üzembe helyezve)
  2. Virtuális gépek kiegyensúlyozása tartalék tartományok között (a legjobb munka)
  3. A legmagasabb példányazonosítójú virtuális gép törlése

A felhasználóknak nem kell megadniuk a méretezési szabályzatot, ha csak az alapértelmezett sorrendet szeretnék követni.

A rendelkezésre állási zónák vagy tartalék tartományok közötti kiegyensúlyozás nem helyezi át a példányokat a rendelkezésre állási zónákban vagy tartalék tartományokban. A kiegyensúlyozás a virtuális gépeknek a kiegyensúlyozatlan rendelkezésre állási zónákból vagy tartalék tartományokból való törlésével érhető el, amíg a virtuális gépek eloszlása egyensúlyba nem kerül.

LegújabbVM-méretezési szabályzat

Ez a szabályzat törli a méretezési csoport legújabb vagy legutóbb létrehozott virtuális gépét, miután kiegyensúlyozza a virtuális gépeket a rendelkezésre állási zónák között (a zónabeli üzemelő példányok esetében). A szabályzat engedélyezéséhez konfigurációmódosításra van szükség a virtuálisgép-méretezési csoport modelljében.

OldestVM scale-in szabályzat

Ez a szabályzat törli a méretezési csoportban a legrégebbi létrehozott virtuális gépet, miután kiegyensúlyozza a virtuális gépeket a rendelkezésre állási zónák között (a zónabeli üzemelő példányok esetében). A szabályzat engedélyezéséhez konfigurációmódosításra van szükség a virtuálisgép-méretezési csoport modelljében.

A méretezési szabályzat engedélyezése

A méretezési szabályzat a virtuálisgép-méretezési csoport modelljében van definiálva. Ahogy az előző szakaszokban is említettük, a "LegújabbVM" és az "OldestVM" szabályzatok használatakor a méretezési szabályzat definíciója szükséges. A virtuálisgép-méretezési csoport automatikusan az "Alapértelmezett" méretezési szabályzatot használja, ha nem található méretezési szabályzatdefiníció a méretezési csoport modelljében.

A virtuálisgép-méretezési csoport modelljén a következő módokon definiálhatók méretezési szabályzatok:

Azure Portal

Az alábbi lépések határozzák meg a méretezési szabályzatot egy új méretezési csoport létrehozásakor.

  1. Nyissa meg a virtuálisgép-méretezési csoportokat.
  2. Új méretezési csoport létrehozásához válassza a + Hozzáadás lehetőséget.
  3. Lépjen a Méretezés lapra.
  4. Keresse meg a Méretezési szabályzat szakaszt.
  5. Válasszon ki egy méretezési szabályzatot a legördülő listából.
  6. Ha végzett az új méretezési csoport létrehozásával, válassza a Véleményezés + létrehozás gombot.

Az API használata

PUT végrehajtása a virtuálisgép-méretezési csoportban az API 2019-03-01 használatával:

PUT
https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<myRG>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVMSS>?api-version=2019-03-01

{ 
"location": "<VMSS location>", 
    "properties": { 
        "scaleInPolicy": {  
            "rules": ["OldestVM"]  
        } 
    }    
} 

Azure PowerShell

Fontos

2023 novemberétől a PowerShell és az Azure CLI használatával létrehozott virtuálisgép-méretezési csoportok alapértelmezés szerint rugalmas vezénylési módba kerülnek, ha nincs megadva vezénylési mód. A módosítással és a végrehajtandó műveletekkel kapcsolatos további információkért tekintse meg a VMSS PowerShell/CLI-ügyfelek kompatibilitástörő változását – Microsoft Community Hub

Hozzon létre egy erőforráscsoportot, majd hozzon létre egy új méretezési csoportot a méretezési szabályzatkészlettel OldestVM néven.

New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "<VMSS location>"
New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -Location "<VMSS location>" `
  -VMScaleSetName "myScaleSet" `
  -OrchestrationMode "Flexible" `
  -ScaleInPolicy “OldestVM”

Azure CLI

Fontos

2023 novemberétől a PowerShell és az Azure CLI használatával létrehozott virtuálisgép-méretezési csoportok alapértelmezés szerint rugalmas vezénylési módba kerülnek, ha nincs megadva vezénylési mód. A módosítással és a végrehajtandó műveletekkel kapcsolatos további információkért tekintse meg a VMSS PowerShell/CLI-ügyfelek kompatibilitástörő változását – Microsoft Community Hub

Az alábbi példa egy méretezési szabályzatot ad hozzá egy új méretezési csoport létrehozásakor. Először hozzon létre egy erőforráscsoportot, majd hozzon létre egy új méretezési csoportot az OldestVM-ként megadott méretezési szabályzattal.

az group create --name <myResourceGroup> --location <VMSSLocation>
az vmss create \
  --resource-group <myResourceGroup> \
  --name <myVMScaleSet> \
  --orchestration-mode flexible \
  --image Ubuntu2204 \
  --admin-username <azureuser> \
  --generate-ssh-keys \
  --scale-in-policy OldestVM

Sablon használata

A sablon "tulajdonságok" területén adja hozzá a tulajdonságot scaleInPolicy :

"scaleInPolicy": {  
      "rules": ["OldestVM"]  
}

Ezek a kódblokkok megadják, hogy a virtuálisgép-méretezési csoport törli a legrégebbi virtuális gépet egy zónaegyensúlyos méretezési csoportban, amikor a méretezés aktiválódik (automatikus skálázással vagy manuális törléssel).

Ha a virtuálisgép-méretezési csoport nem zónaegyensúlyos, a méretezési csoport először törli a virtuális gépeket a kiegyensúlyozatlan zóna(ok) között. A kiegyensúlyozatlan zónákban a méretezési csoport a megadott méretezési szabályzatot használja annak meghatározására, hogy melyik virtuális gépet skálázza fel. Ebben az esetben egy kiegyensúlyozatlan zónán belül a méretezési csoport kiválasztja a legrégebbi virtuális gépet abban a zónában, amelyet törölni szeretne.

A nem zonális virtuálisgép-méretezési csoport esetében a szabályzat a méretezési csoport legrégebbi virtuális gépét választja ki törlésre.

Ugyanez a folyamat érvényes a "LegújabbVM" méretezési szabályzat használatakor.

A méretezési szabályzatok módosítása

A méretezési szabályzat módosítása ugyanazt a folyamatot követi, mint a méretezési szabályzat alkalmazása. Ha például az "OldestVM"-ről a "LegújabbVM"-re szeretné módosítani a szabályzatot, ezt a következővel teheti meg:

Azure Portal

Egy meglévő méretezési csoport méretezési szabályzatát az Azure Portalon módosíthatja.

  1. Egy meglévő virtuálisgép-méretezési csoportban válassza a bal oldali menü Skálázás elemét.
  2. Válassza a Méretezési szabályzat lapot.
  3. Válasszon ki egy méretezési szabályzatot a legördülő listából.
  4. Amikor elkészült, válassza a Mentés lehetőséget.

Az API használata

PUT végrehajtása a virtuálisgép-méretezési csoportban az API 2019-03-01 használatával:

PUT
https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<myRG>/providers/Microsoft.Compute/virtualMachineScaleSets/<myVMSS>?api-version=2019-03-01 

{ 
"location": "<VMSS location>", 
    "properties": { 
        "scaleInPolicy": {  
            "rules": ["NewestVM"]  
        } 
    }    
}

Azure PowerShell

Egy meglévő méretezési csoport méretezési szabályzatának frissítése:

Update-AzVmss `
 -ResourceGroupName "myResourceGroup" `
 -VMScaleSetName "myScaleSet" `
 -ScaleInPolicy “OldestVM”

Azure CLI

Az alábbi példa egy meglévő méretezési csoport méretezési szabályzatának frissítésére használható:

az vmss update \  
  --resource-group <myResourceGroup> \
  --name <myVMScaleSet> \
  --scale-in-policy OldestVM

Sablon használata

A sablonban a "tulajdonságok" területen módosítsa a sablont az alábbi módon, és helyezze újra üzembe:

"scaleInPolicy": {  
      "rules": ["NewestVM"]  
} 

Ugyanez a folyamat akkor érvényes, ha úgy dönt, hogy a "LegújabbVM" értékét "Alapértelmezett" vagy "OldestVM" értékre módosítja

Példányvédelem és méretezési szabályzat

A virtuálisgép-méretezési csoportok kétféle példányvédelmet biztosítanak:

  1. Védelem a vertikális felskálázás ellen
  2. Védelem a méretezési csoportok műveleteitől

A védett virtuális gépek nem törlődnek a méretezési műveleten keresztül, függetlenül az alkalmazott méretezési szabályzattól. Ha például VM_0 (a méretezési csoport legrégebbi virtuális gépe) védett a méretezési csoporttól, és a méretezési csoport "OldestVM" méretezési szabályzata engedélyezve van, akkor a VM_0 nem tekinthető méretezésnek, annak ellenére, hogy ez a méretezési csoport legrégebbi virtuális gépe.

A védett virtuális gépet a felhasználó bármikor manuálisan törölheti, függetlenül attól, hogy a méretezési csoporton engedélyezve van-e a méretezési szabályzat.

Használati példák

Az alábbi példák bemutatják, hogyan választja ki a virtuálisgép-méretezési csoport a skálázási esemény aktiválásakor törölni kívánt virtuális gépeket. A legmagasabb példányazonosítóval rendelkező virtuális gépek a méretezési csoport legújabb virtuális gépei, a legkisebb példányazonosítóval rendelkező virtuális gépek pedig a méretezési csoport legrégebbi virtuális gépei.

OldestVM scale-in szabályzat

Esemény Példányazonosítók az 1. zónában Példányazonosítók a Zone2-ben Példányazonosítók a Zone3-ban Méretezési kijelölés
Kezdeti 3, 4, 5, 10 2, 6, 9, 11 1, 7, 8
Vertikális felskálázás 3, 4, 5, 10 2, 6, 9, 11 1, 7, 8 Válasszon az 1. és a 2. zóna között, annak ellenére, hogy a 3. zóna rendelkezik a legrégebbi virtuális géppel. Törölje a VM2-t a 2. zónából, mivel ez a zóna legrégebbi virtuális gépe.
Vertikális felskálázás 3, 4, 5, 10 6, 9, 11 1, 7, 8 Válassza az 1. zónát annak ellenére, hogy a 3. zóna rendelkezik a legrégebbi virtuális géppel. Törölje a VM3-at az 1. zónából, mivel ez a zóna legrégebbi virtuális gépe.
Vertikális felskálázás 4, 5, 10 6, 9, 11 1, 7, 8 A zónák kiegyensúlyozottak. Törölje a VM1-et a 3. zónában, mivel ez a méretezési csoport legrégebbi virtuális gépe.
Vertikális felskálázás 4, 5, 10 6, 9, 11 7, 8 Válasszon az 1. és a 2. zóna között. Törölje a VM4-et az 1. zónában, mivel ez a legrégebbi virtuális gép a két zóna között.
Vertikális felskálázás 5, 10 6, 9, 11 7, 8 Válassza a 2. zónát annak ellenére, hogy az 1. zónában található a legrégebbi virtuális gép. Törölje a VM6-ot az 1. zónában, mivel ez a zóna legrégebbi virtuális gépe.
Vertikális felskálázás 5, 10 9, 11 7, 8 A zónák kiegyensúlyozottak. Törölje a VM5-öt az 1. zónában, mivel ez a méretezési csoport legrégebbi virtuális gépe.

A nem zonális virtuálisgép-méretezési csoportok esetében a szabályzat a méretezési csoport legrégebbi virtuális gépét választja ki törlésre. A rendszer kihagyja a "védett" virtuális gépeket a törléshez.

LegújabbVM-méretezési szabályzat

Esemény Példányazonosítók az 1. zónában Példányazonosítók a Zone2-ben Példányazonosítók a Zone3-ban Méretezési kijelölés
Kezdeti 3, 4, 5, 10 2, 6, 9, 11 1, 7, 8
Vertikális felskálázás 3, 4, 5, 10 2, 6, 9, 11 1, 7, 8 Válasszon az 1. és a 2. zóna között. Törölje a VM11-et a 2. zónából, mivel ez a két zóna legújabb virtuális gépe.
Vertikális felskálázás 3, 4, 5, 10 2, 6, 9 1, 7, 8 Válassza az 1. zónát, mivel több virtuális gépe van, mint a másik két zónának. Törölje a VM10-et az 1. zónából, mivel ez a zóna legújabb virtuális gépe.
Vertikális felskálázás 3, 4, 5 2, 6, 9 1, 7, 8 A zónák kiegyensúlyozottak. Törölje a VM9-et a 2. zónában, mivel ez a méretezési csoport legújabb virtuális gépe.
Vertikális felskálázás 3, 4, 5 2, 6 1, 7, 8 Válasszon az 1. és a 3. zóna között. Törölje a VM8-at a 3. zónában, mivel ez a zóna legújabb virtuális gépe.
Vertikális felskálázás 3, 4, 5 2, 6 1, 7 Válassza az 1. zónát annak ellenére, hogy a 3. zóna rendelkezik a legújabb virtuális géppel. Törölje a VM5-öt az 1. zónában, mivel ez a zóna legújabb virtuális gépe.
Vertikális felskálázás 3, 4 2, 6 1, 7 A zónák kiegyensúlyozottak. Törölje a VM7-et a 3. zónában, mivel ez a méretezési csoport legújabb virtuális gépe.

A nem zonális virtuálisgép-méretezési csoportok esetében a szabályzat a méretezési csoport legújabb virtuális gépét választja ki törlésre. A rendszer kihagyja a "védett" virtuális gépeket a törléshez.

Hibaelhárítás

  1. A scaleInPolicy engedélyezése sikertelen. Ha "BadRequest" hibaüzenet jelenik meg, amely szerint "Nem található a "scaleInPolicy" tag a "properties" típusú objektumon, ellenőrizze a virtuálisgép-méretezési csoporthoz használt API-verziót. Ehhez a funkcióhoz az API 2019-03-01-es vagy újabb verziója szükséges.

  2. A virtuális gépek helytelen kiválasztása a méretezéshez Tekintse meg a dokumentumban szereplő példákat. Ha a virtuálisgép-méretezési csoport zonális üzemelő példány, a méretezési szabályzat először a kiegyensúlyozatlan zónákra, majd a méretezési csoportra lesz alkalmazva, miután a zóna kiegyensúlyozódik. Ha a méretezési sorrend nem összhangban van az itt dokumentált példákkal, hibaelhárítás céljából lekérdezést kell létrehoznia a virtuálisgép-méretezési csoport csapatával.

Következő lépések

Megtudhatja, hogyan helyezheti üzembe az alkalmazást virtuálisgép-méretezési csoportokban.