Aspekty plánování kapacity clusteru Service Fabric

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

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

  • Úroveň stálosti každého typu uzlu, která určuje oprávnění virtuálního počítače Service Fabric v rámci infrastruktury Azure

  • Úroveň spolehlivosti clusteru, která určuje stabilitu systémových služeb Service Fabric a celkové funkce 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 definovaný v clusteru Service Fabric se mapuje na škálovací sadu virtuálních počítačů.

Vzhledem k tomu, že každý typ uzlu je samostatná škálovací sada, dá se nezávisle vertikálně navýšit nebo snížit, mít otevřené různé sady portů a mít různé metriky kapacity. Další informace o vztahu mezi typy uzlů a škálovacími sadami virtuálních počítačů najdete v tématu Typy uzlů clusteru Service Fabric.

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

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

Primární typ uzlu se konfiguruje pomocí atributu isPrimary v definici typu uzlu v šabloně nasazení Azure Resource Manager. Úplný seznam vlastností typu uzlu najdete v objektu NodeTypeDescription. Například použití otevřete libovolný AzureDeploy.json soubor v ukázkách clusteru Service Fabric a vyhledejte nodeTypes objekt na stránce.

Aspekty plánování typů uzlů

Počet počátečních typů uzlů závisí na účelu clusteru a aplikací a služeb, které na něm běží. 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-endovou bránu, která přijímá vstup z klienta, a jednu nebo více back-endových služeb, které komunikují s front-endovými službami, s oddělenými sítěmi mezi front-endovými a back-endovými službami. Tyto případy obvykle vyžadují tři typy uzlů: jeden primární typ uzlu a dva typy neprimárních uzlů (jeden pro frontovou a back-endovou službu).

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

    Front-endová služba může často běžet na menších virtuálních počítačích (velikosti virtuálních počítačů, jako je D2), které mají otevřené porty pro internet. Výpočetní back-endové 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 jsou D4, D6, D15), které nejsou přístupné z internetu. Definování různých typů uzlů pro tyto služby umožňuje efektivnější a bezpečnější použití základních virtuálních počítačů Service Fabric a umožňuje jejich nezávislé škálování. Další informace o odhadu množství prostředků, které budete potřebovat, najdete v tématu Plánování kapacity pro aplikace Service Fabric.

  • Bude potřeba škálovat některé z vašich aplikačních služeb na více než 100 uzlů?

    Jeden typ uzlu nemůže spolehlivě škálovat nad 100 uzlů na škálovací sadu virtuálních počítačů pro aplikace Service Fabric. Spuštění více než 100 uzlů vyžaduje další škálovací sady virtuálních počítačů (a proto další typy uzlů).

  • Bude váš cluster překlenovat napříč Zóny dostupnosti?

    Service Fabric podporuje clustery, které se nacházejí napříč Zóny dostupnosti nasazením typů uzlů, které jsou připnuté ke konkrétním zónám a zajišťují vysokou dostupnost vašich aplikací. Zóny dostupnosti vyžadují další plánování typů uzlů a minimální požadavky. Podrobnosti najdete v tématu Topologie pro přecházení 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 vždy přidávat, upravovat nebo odebírat (neprimární) typy uzlů. Primární typy uzlů je také možné vertikálně navýšit nebo snížit ve spuštěných clusterech, ale k tomu budete muset vytvořit nový typ uzlu, přesunout úlohu a potom odebrat původní primární typ uzlu.

Dalším aspektem vlastností typu uzlu je úroveň stálosti, která určuje oprávnění, která mají virtuální počítače typu uzlu v rámci infrastruktury Azure. Velikost virtuálních počítačů, které zvolíte pro cluster, a počet instancí, který přiřadíte jednotlivým typům uzlů, vám pomohou určit odpovídající úroveň odolnosti pro každý typ uzlu, jak je popsáno dále.

Vlastnosti stálosti clusteru

Úroveň stálosti určuje oprávnění, která mají vaše virtuální počítače Service Fabric se základní infrastrukturou Azure. Toto oprávnění umožňuje Službě Service Fabric pozastavit všechny požadavky na infrastrukturu na úrovni virtuálního počítače (například restartování, opětovné sestavení nebo migraci), které mají vliv na požadavky na kvorum pro systémové služby Service Fabric a stavové služby.

Důležité

Úroveň stálosti je nastavena na typ uzlu. Pokud není zadán žádný, použije se úroveň Bronze . Produkční úlohy vyžadují úroveň odolnosti Silver nebo Gold, 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í úrovně odolnosti Service Fabric, jejich požadavky a možnosti použití.

Úroveň stálosti Požadovaný minimální počet virtuálních počítačů Podporované velikosti virtuálních počítačů Aktualizace, které provedete ve škálovací sadě virtuálních počítačů Aktualizace a údržba iniciované Azure
Gold 5 Velikosti úplného uzlu vyhrazené jednomu zákazníkovi – dostupné velikosti virtuálních počítačů Může se zpozdit, dokud cluster Service Fabric neschválil. Je možné pozastavit po dobu 2 hodin na doménu upgradu, aby se repliky mohly zotavit z dřívějších selhání.
Silver 5 Virtuální počítače s jedním nebo více jádry s alespoň 50 GB místního disku SSD Může se zpozdit, dokud cluster Service Fabric neschválil. Po dlouhou dobu není možné zpoždění.
Bronzový 1 Virtuální počítače s alespoň 50 GB místního disku SSD Cluster Service Fabric nezpozdí Po dlouhou dobu není možné zpoždění.

Poznámka:

Výše uvedený minimální počet virtuálních počítačů je nezbytným požadavkem pro každou úroveň odolnosti. Máme zavedená ověření, která zabrání vytvoření nebo úpravě existujících škálovacích sad virtuálních počítačů, které tyto požadavky nesplňují.

Upozorňující

S bronzovou odolností není automatický upgrade image operačního systému k dispozici. Aplikace Orchestrace oprav (určená jenom pro clustery hostované mimo Azure) se nedoporučuje pro úrovně silver nebo vyšší stálosti, ale je jedinou možností automatizovat aktualizace Windows s ohledem na domény upgradu Service Fabric.

Důležité

Bez ohledu na úroveň stálosti zničí spuštění operace Deallocation ve škálovací sadě virtuálních počítačů cluster.

Bronzový

Typy uzlů spuštěné s bronzovou odolností zí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 bezstavové úlohy, použijte bronzovou odolnost. Pro produkční úlohy se doporučuje používat Silver nebo vyšší.

Stříbrná a zlatá

Pro všechny typy uzlů, které hostují stavové služby, které očekáváte často škálovat na více instancí, použijte silver nebo gold stálost a chcete, aby operace nasazení byly zpožděné a kapacita se snížila, aby se proces zjednodušil. Scénáře škálování na více instancí by neměly mít vliv na vaši volbu úrovně odolnosti.

Výhody

  • Snižuje počet požadovaných kroků pro operace horizontálního snížení kapacity (deaktivace uzlu a Remove-ServiceFabricNodeState se volá automaticky).
  • Snižuje riziko ztráty dat kvůli operacím změny velikosti místních virtuálních počítačů a operacím infrastruktury Azure.

Nevýhody

  • Nasazení do škálovacích sad virtuálních počítačů a dalších souvisejících prostředků Azure můžou vypršovat časový limit, zpozdit nebo je úplně zablokovat problémy ve vašem clusteru nebo na úrovni infrastruktury.
  • Zvyšuje počet událostí životního cyklu repliky (například primární prohození) kvůli automatické deaktivaci uzlů během operací infrastruktury Azure.
  • V době, kdy dochází k aktualizacím softwaru platformy Azure nebo aktivitám údržby hardwaru, uzly se z provozu vytáčí po určitou dobu. Během těchto aktivit se můžou zobrazit uzly se stavem Zakázání nebo Zakázáno. Tím se kapacita clusteru dočasně sníží, ale neměla by mít vliv na dostupnost clusteru nebo aplikací.

Osvědčené postupy pro typy uzlů odolnosti Silver a Gold

Při správě typů uzlů s odolností Silver nebo Gold postupujte podle těchto doporučení:

  • Udržujte cluster a aplikace neustále v pořádku a ujistěte se, že aplikace reagují na všechny události životního cyklu repliky služby (jako je replika v buildu) včas.
  • Přechod na bezpečnější způsoby změny velikosti virtuálního počítače (vertikální navýšení nebo snížení kapacity) Změna velikosti virtuálního počítače škálovací sady virtuálních počítačů vyžaduje pečlivé plánování a opatrnost. Podrobnosti najdete v tématu Vertikální navýšení kapacity typu uzlu Service Fabric.
  • Udržujte minimální počet pěti uzlů pro libovolnou škálovací sadu virtuálních počítačů, která má povolenou úroveň odolnosti gold nebo Silver. Cluster zadá chybový stav, pokud škálujete pod tuto prahovou hodnotu a budete muset stavRemove-ServiceFabricNodeState odebraných uzlů ručně vyčistit.
  • Každá škálovací sada virtuálních počítačů s úrovní stálosti Silver nebo Gold se musí mapovat na vlastní typ uzlu v clusteru Service Fabric. Mapování několika škálovacích sad virtuálních počítačů na jeden typ uzlu zabrání správné koordinaci mezi clusterem Service Fabric a infrastrukturou Azure.
  • Neodstraňovat náhodné instance virtuálních počítačů, vždy používejte škálování škálovací sady virtuálních počítačů ve funkci. Odstranění náhodných instancí virtuálních počítačů má potenciál vytvářet nerovnováhy v instanci virtuálního počítače rozložené mezi upgradující domény a domény selhání. Tato nerovnováha může nepříznivě ovlivnit schopnost systémů správně vyrovnávat zatížení mezi instancemi služby nebo replikami služby.
  • 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 najednou jenom jeden uzel. Škálování ve více instancích najednou není bezpečné.
  • Pokud odstraníte nebo uvolníte virtuální počítače na primárním typu uzlu, nikdy nezmenšíte počet přidělených virtuálních počítačů pod tím, co úroveň spolehlivosti vyžaduje. Tyto operace budou ve škálovací sadě blokované po neomezenou dobu s úrovní odolnosti Silver nebo Gold.

Změna úrovní stálosti

V rámci určitých omezení je možné upravit úroveň stálosti typu uzlu:

  • Typy uzlů s úrovněmi stálosti Silver nebo Gold nelze downgradovat na bronzovou verzi.
  • Downgradování typů uzlů s úrovní stálosti Gold na Silver se nepodporuje.
  • Upgrade z bronzu na Silver nebo Gold může trvat několik hodin.
  • Při změně úrovně stálosti ji nezapomeňte aktualizovat v konfiguraci rozšíření Service Fabric v prostředku škálovací sady virtuálních počítačů i v definici typu uzlu v prostředku clusteru Service Fabric. Tyto hodnoty se musí shodovat.

Dalším aspektem při plánování kapacity je úroveň spolehlivosti vašeho clusteru, která určuje stabilitu systémových služeb a celkového clusteru, jak je popsáno v další části.

Charakteristiky spolehlivosti clusteru

Úroveň spolehlivosti clusteru určuje počet replik systémových služeb spuštěných v primárním typu uzlu clusteru. Čím více 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ů primárního typu uzlu. Produkční úlohy vyžadují úroveň spolehlivosti Silver (větší nebo rovno pěti uzlům) nebo vyšší.

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

  • Platinum – Systémové služby běží s počtem cílových sad replik po devíti
  • Gold – Systémové služby běží s počtem sad cílových replik do sedmi
  • Silver – Systémové služby běží s počtem sad cílových replik po pěti
  • Bronzová – Systémové služby běží s počtem tří cílových sad replik

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
0 Nezadávejte reliabilityLevel parametr: systém ho vypočítá.
3 Bronzový
5 nebo 6 Silver
7 nebo 8 Gold
9 a více Platina

Když zvýšíte nebo zmenšíte velikost clusteru (součet instancí virtuálních počítačů ve všech typech uzlů), zvažte aktualizaci spolehlivosti clusteru z jedné vrstvy na jinou. Tím se aktivuje upgrady clusteru potřebné ke změně počtu sady replik systémových služeb. Než v clusteru provedete jakékoli další změny, jako je přidání uzlů, počkejte na dokončení upgradu. Průběh upgradu můžete monitorovat v Service Fabric Exploreru nebo spuštěním rutiny Get-ServiceFabricClusterUpgrade.

Plánování kapacity pro spolehlivost

Požadavky na kapacitu vašeho clusteru se určují podle konkrétních požadavků na úlohu a spolehlivost. Tato část obsahuje obecné pokyny, které vám pomůžou začít s plánováním kapacity.

Určení velikosti virtuálního počítače

Pro produkční úlohy doporučujeme velikost virtuálního počítače (SKU) s následujícím kódem:

  • Alespoň 2 jádra.
  • Minimálně 50 GB místního SSD. Některé úlohy, například ty, na kterých běží kontejnery Windows, ale vyžadují větší disky.

Ve výchozím nastavení je místní SSD nakonfigurované na 64 GB. Velikost lze nakonfigurovat v nastavení MaxDiskQuotaInMB oddílu Diagnostika nastavení clusteru.

Pokyny k úpravě nastavení clusteru clusteru hostovaného v Azure najdete v tématu Upgrade konfigurace clusteru v Azure.

Pokyny k úpravě nastavení clusteru samostatného clusteru hostovaného ve Windows najdete v tématu Upgrade konfigurace samostatného clusteru.

Při výběru jiných velikostí virtuálních počítačů pro produkční úlohy mějte na paměti následující omezení:

  • Částečné nebo jednoúčelové velikosti virtuálních počítačů, jako je Standard A0, se nepodporují.
  • Velikosti virtuálních počítačů řady A-Series nejsou podporované z důvodů výkonu.
  • Virtuální počítače s nízkou prioritou se nepodporují.
  • Nárazové skladové položky řady B-Series 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 Silver. Doporučuje se vyhradit primární typ uzlu clusteru systémovým službám a použít omezení umístění k nasazení aplikace do sekundárních typů uzlů.

Testovací úlohy v Azure můžou spouštět minimálně jeden nebo tři primární uzly. Pokud chcete nakonfigurovat cluster s jedním uzlem, ujistěte se, že reliabilityLevel nastavení není v šabloně Resource Manageru vynecháno (zadání hodnoty prázdného reliabilityLevel řetězce pro není dostatečné). Pokud nastavíte cluster s jedním uzlem nastavený pomocí webu Azure Portal, tato konfigurace se provede automaticky.

Upozorňující

Clustery s jedním uzlem běží se speciální konfigurací bez spolehlivosti a škálování na více instancí se nepodporuje.

typy neprimárních uzlů

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

Stavové úlohy

Pro stavové produkční úlohy využívající spolehlivé kolekce Service Fabric nebo reliable Actors se doporučuje minimální a cílový počet replik. S tím skončíte v stabilním stavu replikou (ze sady replik) v každé doméně selhání a upgradujte doménu. Obecně platí, že jako vodítko pro počet replik, který používáte pro stavové služby, použijte úroveň spolehlivosti, kterou jste nastavili pro systémové služby.

Bezstavové úlohy

U bezstavových produkčních úloh je minimální podporovaná neprimární velikost typu uzlu tři, aby se zachovalo kvorum, ale doporučuje se velikost uzlu 5.

Další kroky

Před konfigurací clusteru si projděte Not Allowed zásady upgradu clusteru a zmírněte tak možnost opětovného vytvoření clusteru později kvůli jinak neměnným nastavením konfigurace systému.

Další informace o plánování clusteru najdete tady: