Egyéni horizontális leskálázá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:
- Alapértelmezett
- NewestVM
- OldestVM
Alapértelmezett méretezési szabályzat
Rugalmas 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:
- 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)
- Virtuális gépek kiegyensúlyozása tartalék tartományok között (a legjobb munka)
- 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.
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:
- 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)
- Virtuális gépek kiegyensúlyozása tartalék tartományok között (a legjobb munka)
- 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.
- Nyissa meg a virtuálisgép-méretezési csoportokat.
- Új méretezési csoport létrehozásához válassza a + Hozzáadás lehetőséget.
- Lépjen a Méretezés lapra.
- Keresse meg a Méretezési szabályzat szakaszt.
- Válasszon ki egy méretezési szabályzatot a legördülő listából.
- 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.
- Egy meglévő virtuálisgép-méretezési csoportban válassza a bal oldali menü Skálázás elemét.
- Válassza a Méretezési szabályzat lapot.
- Válasszon ki egy méretezési szabályzatot a legördülő listából.
- 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:
- Védelem a vertikális felskálázás ellen
- 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.
Felhasználási 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
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.
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.