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í číslo a vlastnosti typů uzlů clusteru

  • Úroveň stálosti jednotlivých typů uzlů, která určuje oprávnění virtuálních počítačů 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í číslo a vlastnosti typů uzlů clusteru

Typ uzlu definuje velikost, číslo a vlastnosti sady 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 odlišná škálovací sada, je možné vertikálně navýšit nebo snížit kapacitu nezávisle, 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í možnosti platformy Service Fabric. I když je možné ke spouštění aplikací použít také primární typy uzlů, doporučujeme je vyhradit výhradně pro spouštění systémových služeb.

Jiné než primární typy 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 typů neprimárních 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 v ukázkách clusteru Service Fabric otevřete libovolný soubor AzureDeploy.json a vyhledejte nodeTypes objekt najít na stránce.

Aspekty plánování typů uzlů

Počet typů počátečních 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 musí být některé z nich veřejné nebo připojené k internetu?

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

  • Mají služby, které tvoří vaši aplikaci, jiné potřeby infrastruktury, jako je větší paměť RAM nebo vyšší počet cyklů 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í porty otevřené pro internet. Výpočetně náročné back-endové služby 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řipojené k internetu. Definování různých typů uzlů pro tyto služby umožňuje efektivněji a bezpečněji využívat základní virtuální počítače Service Fabric a umožňuje jim je nezávisle škálovat. Další informace o odhadu potřebného množství prostředků najdete v tématu Plánování kapacity pro aplikace Service Fabric.

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

    Jeden typ uzlu nemůže spolehlivě škálovat více než 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 i další typy uzlů).

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

    Service Fabric podporuje clustery napříč Zóny dostupnosti nasazením typů uzlů, které jsou připnuté k určitým zónám, a zajišťuje tak vysokou dostupnost vašich aplikací. Zóny dostupnosti vyžadovat další plánování typů uzlů a minimální požadavky. Podrobnosti najdete v tématu Topologie pro překří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řidat, upravit nebo odebrat typy uzlů (neprimární). U spuštěných clusterů je také možné vertikálně navýšit nebo snížit kapacitu typů primárních uzlů , ale k tomu budete muset vytvořit nový typ uzlu, přesunout úlohu a pak 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. Použijte 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ů, abyste mohli určit vhodnou úroveň odolnosti pro každý typ uzlů, 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 k základní infrastruktuře 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í, obnovení image nebo migraci), které mají vliv na požadavky kvora pro systémové služby Service Fabric a vaše stavové služby.

Důležité

Úroveň stálosti se nastavuje podle typu uzlu. Pokud není zadán žádný, použije se bronzová úroveň. Produkční úlohy vyžadují odolnost úrovně Silver nebo Gold, aby se zabránilo ztrátě dat z požadavků na infrastrukturu na úrovni virtuálních počítačů.

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 se škálovací sadou virtuálních počítačů Aktualizace a údržba iniciovaná Azure
Gold 5 Velikosti celých uzlů vyhrazené pro jednoho zákazníka – dostupné velikosti virtuálních počítačů Může se odložit až do schválení clusterem Service Fabric. Každou upgradovanou doménu je možné pozastavit na 2 hodiny, 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 odložit až do schválení clusterem Service Fabric. Nedá se zpozdit o žádnou významnou dobu.
Bronzový 1 Virtuální počítače s alespoň 50 GB místního disku SSD Cluster Service Fabric nezpozdí Nedá se zpozdit o žádnou významnou dobu.

Poznámka

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

Upozornění

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

Důležité

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

Bronzový

Typy uzlů spuštěné s bronzovou odolností nezískají žádná oprávnění. To znamená, že úlohy infrastruktury, které mají vliv na stavové úlohy, se nezastaví ani nezpozdí. Použití bronzové odolnosti pro typy uzlů, které spouštějí pouze bezstavové úlohy. Pro produkční úlohy se doporučuje používat silver nebo vyšší.

Stříbrná a zlatá

Odolnost Silver nebo Gold použijte pro všechny typy uzlů, které hostují stavové služby, u kterých očekáváte, že se budou často škálovat, a u kterých chcete, aby se operace nasazení zpozdily a snížily kapacitu ve prospěch zjednodušení procesu. Scénáře horizontálního navýšení kapacity by neměly mít vliv na vaši volbu úrovně stálosti.

Výhody

  • Snižuje počet požadovaných kroků pro operace škálování na více instancí (deaktivace uzlu a Remove-ServiceFabricNodeState se volají automaticky).
  • Snižuje riziko ztráty dat v důsledku operací změny velikosti místního virtuálního počítače a operací 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ůže dojít k vypršení časového limitu, zpoždění nebo úplné zablokování kvůli problémům ve vašem clusteru nebo na úrovni infrastruktury.
  • Zvyšuje počet událostí životního cyklu replik (například primárních prohození) kvůli automatické deaktivaci uzlů během operací infrastruktury Azure.
  • Po určitou dobu vynechá uzly z provozu, zatímco probíhají aktualizace softwaru platformy Azure nebo aktivity údržby hardwaru. Během těchto aktivit se můžou zobrazit uzly se stavem Zákaz/Zakázáno. To dočasně snižuje kapacitu clusteru, ale nemělo by to mít vliv na dostupnost clusteru nebo aplikací.

Osvědčené postupy pro typy uzlů s odolností silver a gold

Postupujte podle těchto doporučení ke správě typů uzlů se stříbrnou nebo zlatou odolností:

  • Udržujte cluster a aplikace vždy v dobrém stavu a zajistěte, aby aplikace včas reagovaly na všechny události životního cyklu repliky služby (jako je zablokovaná replika v sestavení).
  • Osvojte si bezpečnější způsoby změny velikosti virtuálního počítače (vertikální navýšení/snížení kapacity). Změna velikosti virtuálního počítače ve škálovací sadě 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 každou škálovací sadu virtuálních počítačů, která má povolenou úroveň odolnosti Gold nebo Silver. Cluster přejde do chybového stavu, pokud provedete horizontální snížení kapacity pod tuto prahovou hodnotu, a budete muset ručně vyčistit stav (Remove-ServiceFabricNodeState) odebraných uzlů.
  • Každá škálovací sada virtuálních počítačů s úrovní odolnosti Silver nebo Gold se musí namapovat na svůj 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ému fungování koordinace mezi clusterem Service Fabric a infrastrukturou Azure.
  • Neodstraňovat náhodné instance virtuálních počítačů, vždy používejte funkci škálování škálovací sady virtuálních počítačů. Odstranění náhodných instancí virtuálních počítačů může potenciálně způsobovat nerovnováhu v instanci virtuálního počítače rozložené mezi upgradovací domény a domény selhání. Tato nerovnováha by mohla nepříznivě ovlivnit schopnost systémů správně vyrovnávat zatížení mezi instancemi služeb a replikami služby.
  • Pokud používáte automatické škálování, nastavte pravidla tak, aby se operace horizontálního snížení kapacity (odebrání instancí virtuálních počítačů) prováděly pouze po jednom uzlu. Škálování více instancí najednou není bezpečné.
  • Při odstraňování nebo rušení přidělení virtuálních počítačů na primárním typu uzlu nikdy nesnižujte počet přidělených virtuálních počítačů pod úroveň spolehlivosti. Tyto operace budou ve škálovací sadě s úrovní odolnosti Silver nebo Gold trvale blokovány.

Změna úrovně odolnosti

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

  • Typy uzlů s úrovní odolnosti Silver nebo Gold není možné downgradovat na bronzovou verzi.
  • Downgradování typů uzlů s úrovní odolnosti Gold na Silver není podporováno.
  • Upgrade z bronzové verze na stříbrnou nebo zlatou verzi 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 na primárním typu uzlu clusteru. Čím více replik, tím spolehlivější jsou systémové služby (a tedy i cluster jako celek).

Důležité

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

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

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

Tady je doporučení k výběru ú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 vypočítá.
3 Bronzový
5 nebo 6 Silver
7 nebo 8 Gold
9 a novější Platinum

Když zvětší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 aktivují upgrady clusteru potřebné ke změně počtu replik replik systémových služeb. Před provedením jakýchkoli dalších změn clusteru, jako je přidávání uzlů, počkejte na dokončení probíhajícího upgradu. Průběh upgradu můžete sledovat na Service Fabric Explorer nebo spuštěním rutiny Get-ServiceFabricClusterUpgrade.

Plánování kapacity pro spolehlivost

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

Nastavení velikosti virtuálního počítače

U produkčních úloh je doporučená velikost virtuálního počítače (SKU) standard D2_V2 (nebo ekvivalentní) s minimálně 50 GB místního disku SSD, 2 jádry a 4 GiB paměti. Doporučuje se minimálně 50 GB místního disku SSD, ale některé úlohy (například ty, které používají kontejnery Windows) budou vyžadovat větší disky.

Ve výchozím nastavení je místní disk SSD nakonfigurovaný na 64 GB. Velikost je možné nakonfigurovat v nastavení MaxDiskQuotaInMB v části Diagnostika v nastavení clusteru.

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

Pokyny k úpravě nastavení 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í:

  • Velikosti virtuálních počítačů s částečným nebo jednojádrovým jádrem, jako je Standard A0, se nepodporují.
  • Řada A Velikosti virtuálních počítačů se nepodporují 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ů (instance virtuálních počítačů) a úroveň spolehlivosti Silver. Doporučujeme vyhradit primární typ uzlu clusteru pro systémové služby a použít omezení umístění k nasazení aplikace na sekundární typy 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 je nastavení v šabloně Resource Manager vynecháno (zadání hodnoty prázdného řetězce pro reliabilityLevel není dostačující). Pokud nastavíte cluster s jedním uzlem nastavený pomocí Azure Portal, tato konfigurace se provede automaticky.

Upozornění

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

neprimární typy uzlů

Minimální počet uzlů pro neprimární typ uzlu závisí na konkrétní úrovni stálosti typu uzlu. Počet uzlů (a úroveň stálosti) byste měli naplánovat na základě počtu replik aplikací nebo služeb, které chcete pro daný typ uzlu spouštět, 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 pět. Díky tomu v stabilním stavu skončíte s replikou (ze sady replik) v každé doméně selhání a doméně upgradu. Obecně platí, že úroveň spolehlivosti nastavená pro systémové služby slouží 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 pro zachování kvora tři, ale doporučuje se velikost typu uzlu pět.

Další kroky

Před konfigurací clusteru si projděte Not Allowedzásady upgradu clusteru , abyste zmírnili možnost opětovného vytvoření clusteru později kvůli jinak neměnnému nastavení konfigurace systému.

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