Service Fabric požadavky na plánování kapacity clusteru

plánování kapacity clusteru je důležité pro každé Service Fabric produkční prostředí. Mezi klíčové důležité akce patří:

  • Počáteční počet a vlastnosti typů uzlů clusteru

  • úroveň odolnosti každého typu uzlu, která určuje Service Fabric oprávnění virtuálních počítačů v infrastruktuře Azure

  • úroveň spolehlivosti clusteru, která určuje stabilitu Service Fabric systémových služeb a celkovou funkci clusteru

Tento článek vás provede důležitými rozhodovacími body pro každou z těchto oblastí.

Počáteční počet a vlastnosti typů uzlů clusteru

Typ uzlu definuje velikost, číslo a vlastnosti pro sadu uzlů (virtuálních počítačů) v clusteru. každý typ uzlu, který je definovaný v clusteru Service Fabric, se mapuje na sadu škálování virtuálního počítače.

Vzhledem k tomu, že každý typ uzlu je odlišná sada škálování, dá se škálovat směrem nahoru nebo dolů, mít různé sady portů otevřené a mají různé metriky kapacity. další informace o vztahu mezi typy uzlů a sadami škálování virtuálních počítačů najdete v tématu Service Fabric typy uzlů clusteru.

každý cluster vyžaduje jeden primární typ uzlu, který spouští důležité systémové služby, které poskytují Service Fabric možnosti platformy. Přestože je možné také použít primární typy uzlů ke spouštění aplikací, doporučuje se je vyhradit výhradně pro spouštění systémových služeb.

Typy neprimárních uzlů lze použít k definování aplikačních rolí (například front-endové a back-endové služby) a k fyzické izolaci služeb v rámci clusteru. clustery Service Fabric mohou mít nula nebo více typů neprimárních uzlů.

Typ primárního uzlu je nakonfigurován pomocí isPrimary atributu v rámci definice typu uzlu v šabloně nasazení Azure Resource Manager. Úplný seznam vlastností typu uzlu naleznete v objektu NodeTypeDescription . například použití otevřete libovolný soubor AzureDeploy. json v části Service Fabric ukázky clusteru a vyhledejte na stránce hledání nodeTypes objektu.

Požadavky na plánování typu uzlu

Počet počátečních uzlů závisí na účelu clusteru a aplikacích a službách, které jsou v něm spuštěné. Zvažte následující otázky:

  • Má vaše aplikace více služeb a některé z nich musí být veřejné nebo internetové?

    Typické aplikace obsahují front-endové službu brány, která přijímá vstup od klienta, a jednu nebo více back-endové služby, které komunikují s front-end službami, s oddělenými sítěmi mezi front-end a back-end službami. Tyto případy obvykle vyžadují tři typy uzlů: jeden typ primárního uzlu a dva neprimární typy uzlů (jeden pro front-end službu).

  • Mají služby, které tvoří vaši aplikaci, různé potřeby infrastruktury, jako je například větší nebo vyšší cykly procesoru?

    Front-end služba může být často spuštěná na menších virtuálních počítačích (velikosti virtuálních počítačů jako D2), které mají porty otevřené na internetu. Výpočetní služby náročné na výpočetní výkon můžou být potřeba spustit na větších virtuálních počítačích (s velikostmi virtuálních počítačů, jako je D4, D6, D15), které nejsou přístupné z Internetu. definování různých typů uzlů pro tyto služby vám umožní zefektivnit a zabezpečit používání základních Service Fabric virtuálních počítačů a umožňuje jim jejich horizontální navýšení kapacity. další informace o odhadu množství prostředků, které budete potřebovat, najdete v tématu plánování kapacity pro Service Fabric aplikace .

  • Bude nutné, aby vaše aplikační služby měly horizontální navýšení kapacity nad rámec 100 uzlů?

    jeden typ uzlu nemůže spolehlivě škálovat nad rámec 100 uzlů na sadu škálování virtuálního počítače pro Service Fabric aplikace. Spuštění více než 100 uzlů vyžaduje další služby Virtual Machine Scale Sets (a tudíž další typy uzlů).

  • Bude váš cluster rozložen mezi Zóny dostupnosti?

    Service Fabric podporuje clustery, které jsou rozloženy mezi Zóny dostupnosti , nasazením typů uzlů, které jsou připnuté na konkrétní zóny, a zajišťuje tak vysokou dostupnost vašich aplikací. Zóny dostupnosti vyžadovat další plánování typu uzlu a minimální požadavky. Podrobnosti najdete v tématu doporučená topologie pro pokrývání primárního typu uzlu napříč zóny dostupnosti.

Při určování počtu a vlastností typů uzlů pro počáteční vytvoření clusteru mějte na paměti, že po nasazení clusteru můžete kdykoli přidat, upravit nebo odebrat (neprimární) typy uzlů. Typy primárních uzlů se taky dají škálovat směrem nahoru nebo dolů ve spuštěných clusterech, i když to uděláte, budete muset vytvořit nový typ uzlu, přesunout zatížení přes a pak odebrat původní primární typ uzlu.

Dalším aspektem vlastností typu uzlu je úroveň odolnosti, která určuje oprávnění, které virtuální počítače typu uzlu mají v infrastruktuře Azure. Použijte velikost virtuálních počítačů, které jste si zvolili pro svůj cluster, a počet instancí, které přiřadíte pro jednotlivé typy uzlů, které vám pomůžou určit vhodnou úroveň odolnosti pro každý typ uzlu, jak je popsáno dále.

Charakteristiky odolnosti clusteru

úroveň trvanlivosti určuje oprávnění, která Service Fabric virtuální počítače s podkladovou infrastrukturou Azure. toto oprávnění umožňuje Service Fabric pozastavit požadavky infrastruktury na úrovni virtuálního počítače (třeba restartování, obnovení obrazu nebo migrace), které mají vliv na požadavky kvora pro Service Fabric systémových služeb a stavové služby.

Důležité

Úroveň odolnosti je nastavena na typ uzlu. Pokud není zadána žádná, bude použita bronzová vrstva. Produkční úlohy vyžadují úroveň odolnosti stříbrného nebo zlata, aby se zabránilo ztrátě dat z požadavků na infrastrukturu na úrovni virtuálního počítače.

následující tabulka uvádí Service Fabric vrstev odolnosti, jejich požadavků a affordances.

Úroveň odolnosti Požadovaný minimální počet virtuálních počítačů Podporované velikosti virtuálních počítačů Aktualizace provedené v rámci sady škálování virtuálních počítačů Aktualizace a údržba iniciované Azure
Gold 5 Velikosti celého uzlu vyhrazené pro jednoho zákazníka (například L32s úrovně, GS5, G5, DS15_v2 D15_v2) může se zpozdit až po schválení clusterem Service Fabric. Může být pozastaveno po dobu 2 hodin na upgradované doméně, aby se mohly další časy zotavit z předchozích chyb.
Silver 5 Virtuální počítače s jedním jádrem nebo novějším s minimálně 50 GB místní jednotky SSD může se zpozdit až po schválení clusterem Service Fabric. Nelze zpozdit na jakékoli významné časové období.
Bronzová 1 Virtuální počítače s minimálně 50 GB místní jednotky SSD nebude zpožděný Service Fabricým clusterem. Nelze zpozdit na jakékoli významné časové období.

Poznámka

Výše zmíněný minimální počet virtuálních počítačů je nezbytným požadavkem pro každou úroveň trvanlivosti. Provádíme ověřování na místě, které zabrání vytvoření nebo úpravě stávajících scalesets virtuálních počítačů, které tyto požadavky nesplňují.

Upozornění

V případě bronzové odolnosti není k dispozici automatický upgrade pro image operačního systému. i když není doporučena aplikace orchestration (určená jenom pro clustery hostované mimo Azure) pro stříbrné nebo vyšší úrovně odolnosti, je jedinou možností, jak automatizovat Windows aktualizace s ohledem na Service Fabric upgradovací domény.

Důležité

Bez ohledu na úroveň odolnosti spustí operace zrušení přidělení na sadě škálování virtuálního počítače cluster.

Bronzová

Typy uzlů běžící s bronzovou trvanlivostí nezískají žádná oprávnění. To znamená, že úlohy infrastruktury, které mají vliv na stavové úlohy, nebudou zastaveny ani zpožděny. Pro typy uzlů, které spouštějí pouze stavové úlohy, používejte bronzovou odolnost. Pro produkční úlohy se doporučuje používat stříbro nebo vyšší.

Stříbrná a zlatá

Používejte stříbro nebo zlatou odolnost pro všechny typy uzlů, které hostují stavové služby, které chcete často škálovat, a kde chcete, aby byly operace nasazení zpožděny a aby bylo možné snížit kapacitu pro zjednodušení procesu. Scénáře škálování na více instancí by neměly mít vliv na zvolenou úroveň odolnosti.

Výhody

  • Omezuje počet požadovaných kroků pro operace škálování na více systému (deaktivace uzlu a Remove-ServiceFabricNodeState se nazývají automaticky).
  • Snižuje riziko ztráty dat z důvodu místní operace změny velikosti virtuálního počítače a operací infrastruktury Azure.

Nevýhody

  • Nasazení do služby Virtual Machine Scale Sets a dalších souvisejících prostředků Azure může vyprší časový limit, být zpožděné nebo zablokované zcela problémy v clusteru nebo na úrovni infrastruktury.
  • Zvyšuje počet událostí životního cyklu repliky (například primární swapy) z důvodu automatizovaného deaktivace uzlu během operací infrastruktury Azure.
  • Přebírá po dobu provozu uzlů v době, kdy dochází k aktualizacím softwaru platformy Azure nebo k činnostem údržby hardwaru. V průběhu těchto aktivit se můžou zobrazit uzly se stavem zakázán/zakázáno. Tím se snižuje kapacita clusteru dočasně, ale nemělo by to mít vliv na dostupnost vašeho clusteru nebo aplikací.

Osvědčené postupy pro typy uzlů odolnosti stříbra a Gold

Použijte tato doporučení pro správu typů uzlů pomocí stříbrné nebo zlaté odolnosti:

  • Udržujte cluster a aplikace pořád v pořádku a ujistěte se, že aplikace reagují na všechny události životního cyklu repliky služby (jako replika v buildu se zablokuje) včas.
  • Zajištění bezpečnějšího způsobu změny velikosti virtuálního počítače (horizontální navýšení kapacity) Změna velikosti virtuálního počítače pro sadu škálování virtuálního počítače vyžaduje pečlivé plánování a zvýšení opatrnosti. podrobnosti najdete v tématu horizontální navýšení kapacity Service Fabric typu uzlu .
  • Udržujte minimální počet pěti uzlů pro všechny sady škálování virtuálních počítačů, které mají povolenou úroveň odolnosti Gold nebo stříbrné. Cluster zadáte chybový stav, pokud budete škálovat pod tuto prahovou hodnotu a budete muset ručně vyčistit stav ( Remove-ServiceFabricNodeState ) odebraných uzlů.
  • každá sada škálování virtuálního počítače s úrovní odolnosti stříbrného nebo zlata musí být v Service Fabricm clusteru namapována na vlastní typ uzlu. mapování několika sad virtual machine scale sets na jeden typ uzlu zabráníte správnému fungování koordinace mezi Service Fabricm clusterem a infrastrukturou Azure.
  • Neodstraňujte náhodné instance virtuálních počítačů, ve funkci vždy používejte škálování Virtual Machine Scale-Scale. Odstranění náhodných instancí virtuálních počítačů může mít za následek vytvoření nerovnováhy v instanci virtuálního počítače mezi doménami upgradu a doménami selhání. Tato nerovnováha by mohla negativně ovlivnit schopnost systémů správně vyrovnávat zatížení mezi instancemi služby nebo replikami služeb.
  • Pokud používáte automatické škálování, nastavte pravidla tak, aby se operace škálování (odebírání instancí virtuálních počítačů) prováděly pouze v jednom uzlu. Škálování v několika instancích není v jednom okamžiku bezpečné.
  • Při odstraňování nebo rušení přidělování virtuálních počítačů na primárním uzlu nikdy snižte počet přidělených virtuálních počítačů pod tím, co vyžaduje úroveň spolehlivosti. Tyto operace budou v rámci škálované sady s úrovní odolnosti stříbrného nebo zlata zablokované na neomezenou dobu.

Změna úrovní odolnosti

V rámci určitých omezení se dá upravit úroveň odolnosti typu uzlu:

  • Typy uzlů s úrovní odolnosti stříbrného nebo zlata nejde downgradovat na bronz.
  • Upgrade z bronzu na stříbro nebo Gold může trvat několik hodin.
  • když měníte úroveň odolnosti, nezapomeňte ji aktualizovat v konfiguraci rozšíření Service Fabric v prostředku sady škálování virtuálního počítače a v definici typu uzlu ve vašem prostředku Service Fabric clusteru. Tyto hodnoty se musí shodovat.

Další aspektem je, že plánování kapacity je úroveň spolehlivosti pro váš cluster, což určuje stabilitu systémových služeb a celkový cluster, jak je popsáno v následující části.

Charakteristiky spolehlivosti clusteru

Úroveň spolehlivosti clusteru určuje počet replik systémových služeb běžících na primárním uzlu typu clusteru. Víc replik, tím spolehlivější jsou systémové služby (a proto cluster jako celek).

Důležité

Úroveň spolehlivosti je nastavena na úrovni clusteru a určuje minimální počet uzlů typu primární uzel. Produkční úlohy vyžadují úroveň spolehlivosti stříbrného (větší nebo rovna pěti uzlům) nebo vyšší.

Úroveň spolehlivosti může mít následující hodnoty:

  • Služba Platinum – systémové služby se spouštějí s počtem sad cílových replik za devět.
  • Gold – systémové služby spuštěné s počtem sad cílových replik 7
  • Stříbrné – systémové služby se spouštějí s počtem sad cílových replik 5.
  • Bronzové systémové služby s počtem sad cílových replik tři

Tady je doporučení pro výběr úrovně spolehlivosti. Počet počátečních uzlů je také nastaven na minimální počet uzlů pro úroveň spolehlivosti.

Počet uzlů Úroveň spolehlivosti
1 Nezadávejte reliabilityLevel parametr: systém ho počítá.
3 Bronzová
5 nebo 6 Silver
7 nebo 8 Gold
9 a více Podpora

Při zvětšení nebo zmenšení velikosti clusteru (součet instancí virtuálních počítačů ve všech typech uzlů) zvažte aktualizaci spolehlivosti clusteru z jedné úrovně na jinou. Tím se aktivují upgrady clusteru potřebné ke změně počtu sad replik systémových služeb. Před provedením jakýchkoli dalších změn v clusteru, jako je přidání uzlů, počkejte na dokončení probíhajícího upgradu. průběh upgradu můžete monitorovat na Service Fabric Explorer nebo spuštěním Get-ServiceFabricClusterUpgrade

Plánování kapacity pro spolehlivost

Nároky na kapacitu vašeho clusteru se určí podle vašich konkrétních požadavků na zatížení a spolehlivost. V této části najdete obecné pokyny, které vám pomůžou začít s plánováním kapacity.

Velikost virtuálního počítače

U produkčních úloh je doporučená velikost virtuálního počítače (SKU) standardní D2_V2 (nebo ekvivalentní) s minimálně 50 GB místní SSD, 2 jádry a 4 GiB paměti. doporučuje se minimálně 50 GB místní jednotky SSD, ale některé úlohy (například ty, které používají Windows kontejnery), budou vyžadovat větší disky. Při výběru jiných velikostí virtuálních počítačů pro produkční úlohy Pamatujte na následující omezení:

  • Částečné velikosti virtuálních počítačů, jako je standard a0, se nepodporují.
  • Řada a-Series Velikosti virtuálních počítačů se z důvodů výkonu nepodporují.
  • Virtuální počítače s nízkou prioritou se nepodporují.

Typ primárního uzlu

Produkční úlohy v Azure vyžadují minimálně pět primárních uzlů (instancí virtuálních počítačů) a úroveň spolehlivosti stříbrného. Doporučuje se vyhradit typ primárního uzlu clusteru systémovým službám a použít omezení umístění k nasazení aplikace na typy sekundárních uzlů.

Testovací zatížení v Azure může spustit minimálně jeden nebo tři primární uzly. Pokud chcete nakonfigurovat cluster s jedním uzlem, ujistěte se, že reliabilityLevel nastavení je v šabloně správce prostředků zcela vynecháno (zadání prázdné hodnoty řetězce pro reliabilityLevel není dostatečné). Pokud nastavíte cluster s jedním uzlem nastaveným na Azure Portal, tato konfigurace se provádí automaticky.

Upozornění

Clustery s jedním uzlem běží se zvláštní konfigurací bez spolehlivosti a nejsou podporované horizontální navýšení kapacity.

Typy bez primárních uzlů

Minimální počet uzlů pro neprimární typ uzlu závisí na konkrétní úrovni odolnosti typu uzlu. Počet uzlů (a úroveň odolnosti) byste měli naplánovat na základě počtu replik aplikací nebo služeb, které chcete spustit pro daný typ uzlu, a v závislosti na tom, jestli je úloha stavový nebo Bezstavová. Mějte na paměti, že můžete zvýšit nebo snížit počet virtuálních počítačů v typu uzlu kdykoli po nasazení clusteru.

Stavové úlohy

pro stavová produkční zatížení pomocí Service Fabric spolehlivých kolekcí nebo spolehlivých aktérůse doporučuje minimální a cílová replika pět. V tomto případě se v ustáleném stavu ukončí s replikou (ze sady replik) v každé doméně selhání a upgradovací doméně. Obecně platí, že úroveň spolehlivosti, kterou jste nastavili pro systémové služby, můžete použít jako vodítko pro počet replik, který používáte pro stavové služby.

Bezstavové úlohy

U bezstavových produkčních úloh je minimální podporovaná velikost neprimárního typu uzlu tři pro zachování kvora, ale doporučuje se velikost typu uzlu pět.

Další kroky

Před konfigurací clusteru si Projděte Not Allowed zásady upgradu clusteru , které vám umožní zmírnit opětovné vytvoření clusteru, a to z toho důvodu jinak neměnitelné nastavení konfigurace systému.

Další informace o plánování clusteru najdete v těchto tématech: