Použití vlastních zásad horizontálního navýšení velikosti se škálovacími sadami virtuálních počítačů Azure
Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ Windows virtuální počítače:heavy_check_mark: Jednotné škálovací sady
Nasazení škálovací sady virtuálních počítačů je možné škálovat na více nebo více na základě pole metrik, včetně metrik platformy a vlastních metrik definovaných uživatelem. Horizontální navýšení velikosti sice vytváří nové virtuální počítače založené na modelu škálovací sady, ale horizontální navýšení velikosti ovlivňuje spuštěné virtuální počítače, které mohou mít různé konfigurace a/nebo funkce s tím, jak se bude úloha škálovací sady vyvíjet.
Funkce zásad horizontálního navýšení velikosti poskytuje uživatelům způsob, jak nakonfigurovat pořadí horizontálního navýšení velikosti virtuálních počítačů prostřednictvím tří konfigurací horizontálního navýšení velikosti:
- Výchozí
- Nejnovější virtuální počítače
- Virtuální počítače OldestVM
Výchozí zásady horizontálního navýšení velikosti
Ve výchozím nastavení škálovací sada virtuálních počítačů používá tuto zásadu k určení instancí, u kterých se bude škálovat. U výchozích zásad jsou virtuální počítače vybrány pro horizontální navýšení velikosti v následujícím pořadí:
- Vyvážení virtuálních počítačů napříč zónami dostupnosti (pokud je škálovací sada nasazená v zónové konfiguraci)
- Vyvážení virtuálních počítačů napříč doménami selhání (maximální úsilí)
- Odstranění virtuálního počítače s nejvyšším ID instance
Uživatelé nemusí zazadat zásady horizontálního navýšení velikosti, pokud chtějí, aby se dodržuje jenom výchozí řazení.
Mějte na vědomí, že vyrovnáváním mezi zónami dostupnosti nebo doménami selhání se instance nepřesouvá mezi zónami dostupnosti nebo doménami selhání. Vyrovnávání se dosahuje odstraněním virtuálních počítačů z nevyvážených zón dostupnosti nebo domén selhání, dokud se nevyváže distribuce virtuálních počítačů.
Nejnovější zásady horizontálního navýšení velikosti virtuálního počítače
Tato zásada odstraní nejnovější vytvořený virtuální počítač ve škálovací sadě po vyrovnávání virtuálních počítačů mezi zónami dostupnosti (pro zónová nasazení). Povolení této zásady vyžaduje změnu konfigurace modelu škálovací sady virtuálních počítačů.
Zásady horizontálního navýšení velikosti virtuálního počítače OldestVM
Tato zásada odstraní nejstarší vytvořený virtuální počítač ve škálovací sadě po vyrovnávání virtuálních počítačů mezi zónami dostupnosti (pro zónová nasazení). Povolení této zásady vyžaduje změnu konfigurace modelu škálovací sady virtuálních počítačů.
Povolení zásad horizontálního navýšení velikosti
Zásady horizontálního navýšení velikosti se definují v modelu škálovací sady virtuálních počítačů. Jak je uvedeno v částech výše, při použití zásad NewestVM a OldestVM je potřeba definice zásady horizontálního navýšení velikosti. Škálovací sada virtuálních počítačů automaticky použije výchozí zásadu horizontálního navýšení velikosti, pokud se v modelu škálovací sady nenašla žádná definice zásady horizontálního navýšení velikosti.
Zásady horizontálního navýšení velikosti je možné definovat u modelu škálovací sady virtuálních počítačů následujícími způsoby:
portál Azure
Následující kroky definují zásady horizontálního navýšení velikosti při vytváření nové škálovací sady.
- Přejděte na Škálovací sady virtuálních počítačů.
- Vyberte + Přidat a vytvořte novou škálovací sadu.
- Přejděte na kartu Škálování.
- Vyhledejte část Zásady horizontálního navýšení velikosti.
- V rozevíracím seznamu vyberte zásadu horizontálního navýšení velikosti.
- Po vytvoření nové škálovací sady vyberte tlačítko Zkontrolovat a vytvořit.
Pomocí rozhraní API
Spusťte put ve škálovací sadě virtuálních počítačů pomocí rozhraní API 2019-03-01:
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
Vytvořte skupinu prostředků a pak vytvořte novou škálovací sadu se zásadou horizontálního navýšení velikosti nastavenou na OldestVM.
New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "<VMSS location>"
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Location "<VMSS location>" `
-VMScaleSetName "myScaleSet" `
-ScaleInPolicy “OldestVM”
Azure CLI 2.0
Následující příklad přidá zásadu horizontálního navýšení velikosti při vytváření nové škálovací sady. Nejprve vytvořte skupinu prostředků a pak vytvořte novou škálovací sadu se zásadou horizontálního navýšení velikosti jako OldestVM.
az group create --name <myResourceGroup> --location <VMSSLocation>
az vmss create \
--resource-group <myResourceGroup> \
--name <myVMScaleSet> \
--image UbuntuLTS \
--admin-username <azureuser> \
--generate-ssh-keys \
--scale-in-policy OldestVM
Použití šablony
V šabloně v části Vlastnosti přidejte následující položky:
"scaleInPolicy": {
"rules": ["OldestVM"]
}
Výše uvedené bloky určují, že škálovací sada virtuálních počítačů odstraní nejstarší virtuální počítač ve škálovací sadě s vyrovnáváním zón při aktivaci horizontálního navýšení velikosti (prostřednictvím automatického škálování nebo ručního odstranění).
Pokud škálovací sada virtuálních počítačů není vyvážená zónou, škálovací sada nejprve odstraní virtuální počítače napříč nevyváženými zónami. V rámci nevyvážené zóny bude škálovací sada používat výše uvedené zásady horizontálního navýšení velikosti k určení virtuálního počítače, na který se má škálovat. V tomto případě v rámci nevyvážené zóny vybere škálovací sada nejstarší virtuální počítač v této zóně, který se má odstranit.
Pro škálovací sadu virtuálních počítačů, které nejsou zónové, zásada vybere nejstarší virtuální počítač ve škálovací sadě k odstranění.
Stejný postup platí i při použití NewestVM ve výše uvedených zásadách horizontálního navýšení velikosti.
Úprava zásad horizontálního navýšení velikosti
Úprava zásad horizontálního navýšení velikosti se řídí stejným postupem jako při použití zásad horizontálního navýšení velikosti. Pokud například ve výše uvedeném příkladu chcete změnit zásadu z "OldestVM" na "NewestVM", můžete to udělat pomocí:
portál Azure
Zásady horizontálního navýšení velikosti existující škálovací sady můžete upravit prostřednictvím Azure Portal.
- V existující škálovací sadě virtuálních počítačů vyberte v nabídce na levé straně Škálování.
- Vyberte kartu Zásady horizontálního navýšení velikosti.
- V rozevíracím seznamu vyberte zásadu horizontálního navýšení velikosti.
- Po dokončení vyberte Uložit.
Pomocí rozhraní API
Spusťte put ve škálovací sadě virtuálních počítačů pomocí rozhraní API 2019-03-01:
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
Aktualizujte zásady horizontálního navýšení velikosti stávající škálovací sady:
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-ScaleInPolicy “OldestVM”
Azure CLI 2.0
Následuje příklad aktualizace zásad horizontálního navýšení velikosti existující škálovací sady:
az vmss update \
--resource-group <myResourceGroup> \
--name <myVMScaleSet> \
--scale-in-policy OldestVM
Použití šablony
V šabloně v části Vlastnosti upravte šablonu následujícím způsobem a znovu nasaďte:
"scaleInPolicy": {
"rules": ["NewestVM"]
}
Stejný postup se použije, pokud se rozhodnete změnit NewestVM na Default nebo OldestVM.
Ochrana instancí a zásady horizontálního navýšení velikosti
Škálovací sady virtuálních počítačů poskytují dva typy ochrany instancí:
- Ochrana před horizontálním navýšením velikosti
- Ochrana před akcemi škálovací sady
Chráněný virtuální počítač se odstraní prostřednictvím akce horizontálního navýšení velikosti bez ohledu na použitou zásadu horizontálního navýšení velikosti. Pokud je například před horizontálním navýšením velikosti chráněn virtuální počítač VM_0 (nejstarší virtuální počítač ve škálovací sadě) a škálovací sada má povolenou zásadu škálování OldestVM, nebude VM_0 považováno za horizontální navýšení velikosti, i když se jedná o nejstarší virtuální počítač ve škálovací sadě.
Chráněný virtuální počítač může uživatel kdykoli ručně odstranit bez ohledu na zásady horizontálního navýšení velikosti povolené ve škálovací sadě.
Příklady použití
Následující příklady ukazují, jak škálovací sada virtuálních počítačů vybere virtuální počítače, které se mají odstranit při aktivaci události horizontálního navýšení velikosti. Virtuální počítače s nejvyšším ID instancí se předpokládá jako nejnovější virtuální počítače ve škálovací sadě a virtuální počítače s nejmenšími ID instancí se předpokládá jako nejstarší virtuální počítače ve škálovací sadě.
Zásady horizontálního navýšení velikosti virtuálního počítače OldestVM
| Událost | ID instancí v zóně 1 | ID instancí v zóně 2 | ID instancí v zóně 3 | Výběr horizontálního navýšení velikosti |
|---|---|---|---|---|
| Počáteční | 3, 4, 5, 10 | 2, 6, 9, 11 | 1, 7, 8 | |
| Horizontální navýšení velikosti | 3, 4, 5, 10 | 2, 6, 9, 11 | 1, 7, 8 | Zvolte mezi Zóna 1 a 2, i když Zóna 3 má nejstarší virtuální počítač. Odstraňte virtuální počítač VM2 Zóna 2 protože se jedná o nejstarší virtuální počítač v této zóně. |
| Horizontální navýšení velikosti | 3, 4, 5, 10 | 6, 9, 11 | 1, 7, 8 | Vyberte Zóna 1, i když má Zóna 3 nejstarší virtuální počítač. Odstraňte VM3 z Zóna 1, protože se jedná o nejstarší virtuální počítač v této zóně. |
| Horizontální navýšení kapacity | 4, 5, 10 | 6, 9, 11 | 1, 7, 8 | Zóny jsou vyvážené. Odstraní VM1 v Zóna 3, protože se jedná o nejstarší virtuální počítač v sadě škálování. |
| Horizontální navýšení kapacity | 4, 5, 10 | 6, 9, 11 | 7, 8 | Vyberte si mezi Zóna 1 a Zóna 2. Odstraňte VM4 v Zóna 1, protože se jedná o nejstarší virtuální počítač v obou zónách. |
| Horizontální navýšení kapacity | 5, 10 | 6, 9, 11 | 7, 8 | Vyberte Zóna 2, i když má Zóna 1 nejstarší virtuální počítač. Odstraní VM6 v Zóna 1, protože se jedná o nejstarší virtuální počítač v této zóně. |
| Horizontální navýšení kapacity | 5, 10 | 9, 11 | 7, 8 | Zóny jsou vyvážené. Odstraní VM5 v Zóna 1, protože se jedná o nejstarší virtuální počítač v sadě škálování. |
U virtuálních počítačů, které nejsou v rozsahu, vybere zásada nejstarší virtuální počítač v rámci sady škálování pro odstranění. Pro odstranění se přeskočí kterýkoli chráněný virtuální počítač.
Zásady škálování na NewestVM
| Událost | ID instancí v zóna 1 | ID instancí v zóna 2 | ID instancí v zóna 3 | Výběr se škálováním na více míst |
|---|---|---|---|---|
| Počáteční | 3, 4, 5, 10 | 2, 6, 9, 11 | 1, 7, 8 | |
| Horizontální navýšení kapacity | 3, 4, 5, 10 | 2, 6, 9, 11 | 1, 7, 8 | Vyberte si mezi Zóna 1 a 2. Odstraňte VM11 z Zóna 2, protože se jedná o nejnovější virtuální počítač v obou zónách. |
| Horizontální navýšení kapacity | 3, 4, 5, 10 | 2, 6, 9 | 1, 7, 8 | Vyberte Zóna 1, protože mají více virtuálních počítačů než ostatní dvě zóny. Odstraní VM10 z Zóna 1, protože to je nejnovější virtuální počítač v této zóně. |
| Horizontální navýšení kapacity | 3, 4, 5 | 2, 6, 9 | 1, 7, 8 | Zóny jsou vyvážené. Odstraní VM9 v Zóna 2, protože to je nejnovější virtuální počítač v sadě škálování. |
| Horizontální navýšení kapacity | 3, 4, 5 | 2, 6 | 1, 7, 8 | Vyberte si mezi Zóna 1 a Zóna 3. Odstraní VM8 v Zóna 3, protože se jedná o nejnovější virtuální počítač v této zóně. |
| Horizontální navýšení kapacity | 3, 4, 5 | 2, 6 | 1, 7 | Vyberte Zóna 1, i když má Zóna 3 nejnovější virtuální počítač. Odstraní VM5 v Zóna 1, protože se jedná o nejnovější virtuální počítač v této zóně. |
| Horizontální navýšení kapacity | 3, 4 | 2, 6 | 1, 7 | Zóny jsou vyvážené. Odstraní VM7 v Zóna 3, protože to je nejnovější virtuální počítač v sadě škálování. |
U virtuálních počítačů, které nejsou ve více oblastech, vybírá zásada nejnovější virtuální počítač v rámci sady škálování pro odstranění. Pro odstranění se přeskočí kterýkoli chráněný virtuální počítač.
Řešení potíží
Nepovedlo se povolit scaleInPolicy, pokud se zobrazí chyba důvodu chybného požadavku s chybovou zprávou, že se pro objekt typu Properties nepovedlo najít člena scaleInPolicy, a pak zkontrolujte verzi rozhraní API, která se používá pro sadu škálování virtuálního počítače. Pro tuto funkci se vyžaduje rozhraní API verze 2019-03-01 nebo vyšší.
Špatný výběr virtuálních počítačů pro škálování – odkazují na výše uvedené příklady. Pokud je vaše virtuální počítačová sada škálování nastavená na více instancí, aplikuje se zásada škálování na více instancí jako první pro nevyvážené zóny a potom napříč nastavenou škálou, jakmile se zóna vyrovnává. Pokud pořadí škálování není v souladu s výše uvedenými příklady, vyvolejte dotaz s týmem sady škálování virtuálního počítače pro řešení potíží.
Další kroky
Naučte se, jak nasadit vaši aplikaci do služby Virtual Machine Scale Sets.