Plánování a příprava nasazení samostatného clusteru Service Fabric

Před vytvořením clusteru proveďte následující kroky.

Plánování infrastruktury clusteru

Chystáte se vytvořit cluster Service Fabric na počítačích, které vlastníte, abyste se mohli rozhodnout, jaké druhy selhání má cluster přežít. Potřebujete například samostatné napájecí linky nebo připojení k internetu dodávaná k těmto počítačům? Kromě toho zvažte fyzické zabezpečení těchto počítačů. Kde jsou umístěné počítače a kdo k nim potřebuje přístup? Po provedení těchto rozhodnutí můžete počítače logicky mapovat na různé domény selhání (viz další krok). Plánování infrastruktury pro produkční clustery je více zapojeno než u testovacích clusterů.

Určení počtu domén selhání a upgradovaných domén

Doména selhání (FD) je fyzická jednotka selhání a přímo souvisí s fyzickou infrastrukturou v datových centrech. Doména selhání se skládá z hardwarových komponent (počítačů, přepínačů, sítí a dalších), které sdílejí jediný bod selhání. Přestože mezi doménami selhání a racky neexistuje žádné mapování 1:1, volně řečeno, každý rack může být považován za doménu selhání.

Když v souboru ClusterConfig.json zadáte FD, můžete zvolit název každého FD. Service Fabric podporuje hierarchické FD, takže v nich můžete odrážet topologii infrastruktury. Například následující disky FD jsou platné:

  • "faultDomain": "fd:/Room1/Rack1/Machine1"
  • "faultDomain": "fd:/FD1"
  • "faultDomain": "fd:/Room1/Rack1/PDU1/M1"

Upgradovaná doména (UD) je logická jednotka uzlů. Během orchestrovaných upgradů Service Fabric (upgrade aplikace nebo upgradu clusteru) se všechny uzly v UD přesunou, aby provedly upgrade, zatímco uzly v jiných identifikátorech UD zůstanou dostupné pro obsluhu požadavků. Upgrady firmwaru, které provádíte na počítačích, neresektují identifikátory UD, takže je musíte provést najednou.

Nejjednodušším způsobem, jak se zamyslet nad těmito koncepty, je zvážit FD jako jednotku neplánovaného selhání a identifikátorů UD jako jednotku plánované údržby.

Když v souboru ClusterConfig.json zadáte UDS, můžete zvolit název každého UD. Například následující názvy jsou platné:

  • "upgradeDomain": "UD0"
  • "upgradeDomain": "UD1A"
  • "upgradeDomain": "DomainRed"
  • "upgradeDomain": "Blue"

Podrobnější informace o FD a UD najdete v popisu clusteru Service Fabric.

Cluster v produkčním prostředí by měl zahrnovat alespoň tři jednotky FD, aby se podporovaly v produkčním prostředí, pokud máte úplnou kontrolu nad údržbou a správou uzlů, to znamená, že zodpovídáte za aktualizaci a nahrazování počítačů. U clusterů spuštěných v prostředích (to znamená instance virtuálních počítačů Amazon Web Services), ve kterých nemáte úplnou kontrolu nad počítači, byste měli mít v clusteru minimálně pět FD. Každý FD může mít jeden nebo více uzlů. Tím zabráníte problémům způsobeným upgrady a aktualizacemi počítačů, které v závislosti na jejich načasování můžou kolidovat se spouštěním aplikací a služeb v clusterech.

Určení počáteční velikosti clusteru

Obecně platí, že počet uzlů v clusteru se určuje na základě vašich obchodních potřeb, tj. kolik služeb a kontejnerů bude v clusteru spuštěno a kolik prostředků potřebujete k udržení úloh. V případě produkčních clusterů doporučujeme mít v clusteru alespoň pět uzlů, které pokrývají 5 FD. Jak je ale popsáno výše, pokud máte úplnou kontrolu nad uzly a můžete mít tři FD, pak by tyto úlohy měly provádět i tři uzly.

Testovací clustery, na kterých běží stavové úlohy, by měly mít tři uzly, zatímco testovací clustery, na kterých běží jenom bezstavové úlohy, potřebují jenom jeden uzel. Je také třeba poznamenat, že pro účely vývoje můžete mít na daném počítači více než jeden uzel. V produkčním prostředí však Service Fabric podporuje pouze jeden uzel na fyzický nebo virtuální počítač.

Příprava počítačů, které budou sloužit jako uzly

Tady jsou doporučené specifikace pro počítače v clusteru Service Fabric:

  • Minimálně 16 GB paměti RAM
  • Minimálně 40 GB volného místa na disku
  • Procesor se 4 jádry nebo vyšším
  • Připojení v zabezpečené síti nebo sítích pro všechny počítače
  • Nainstalovaný operační systém Windows Serveru (platné verze: 2012 R2, 2016, 1709 nebo 1803). Service Fabric verze 6.4.654.9590 a novější také podporuje Server 2019 a 1809.
  • Úplná instalace rozhraní .NET Framework 4.5.1 nebo novější
  • Windows PowerShell 3.0
  • Služba RemoteRegistry by měla běžet na všech počítačích.
  • Instalační jednotka Service Fabric musí být systém souborů NTFS.
  • Musí být povoleny protokoly výkonu a výstrahya protokol událostí systému Windows.
  • Vzdálené řízení uživatelských účtů musí být zakázané.

Důležité

Správce clusteru, který nasazuje a konfiguruje cluster, musí mít na každém počítači oprávnění správce. Service Fabric nelze nainstalovat na řadič domény.

Stažení samostatného balíčku Service Fabric pro Windows Server

Odkaz ke stažení – Samostatný balíček Service Fabric – Windows Server a rozbalení balíčku – buď na počítač nasazení, který není součástí clusteru, nebo na jeden z počítačů, které budou součástí vašeho clusteru.

Úprava konfigurace clusteru

Pokud chcete vytvořit samostatný cluster, musíte vytvořit soubor ClusterConfig.json konfigurace samostatného clusteru, který popisuje specifikaci clusteru. Konfigurační soubor můžete založit na šablonách nalezených na následujícím odkazu.
Konfigurace samostatného clusteru

Podrobnosti o částech v tomto souboru najdete v tématu Nastavení konfigurace samostatného clusteru s Windows.

Otevřete jeden ze souborů ClusterConfig.json z balíčku, který jste stáhli, a upravte následující nastavení:

Nastavení konfigurace Popis
NodeTypes Typy uzlů umožňují oddělit uzly clusteru do různých skupin. Cluster musí mít alespoň jeden NodeType. Všechny uzly ve skupině mají následující společné charakteristiky:
Název – Toto je název typu uzlu.
Porty koncového bodu – Tyto koncové body jsou pojmenované (porty), které jsou přidružené k tomuto typu uzlu. Můžete použít libovolné číslo portu, které si přejete, pokud nejsou v konfliktu s čímkoli jiným v tomto manifestu a nejsou již používány žádnou jinou aplikací spuštěnou na počítači nebo virtuálním počítači.
Vlastnosti umístění – Tyto vlastnosti popisují vlastnosti pro tento typ uzlu, které používáte jako omezení umístění pro systémové služby nebo služby. Tyto vlastnosti jsou uživatelem definované páry klíč/hodnota, které poskytují dodatečné meta data pro daný uzel. Příkladem vlastností uzlu by bylo, jestli má uzel pevný disk nebo grafickou kartu, počet jednotek v pevném disku, jader a další fyzické vlastnosti.
Kapacity – Kapacity uzlu definují název a množství konkrétního prostředku, který má konkrétní uzel k dispozici ke spotřebě. Uzel může například definovat, že má kapacitu pro metriku s názvem MemoryInMb a že má ve výchozím nastavení k dispozici 2048 MB. Tyto kapacity se používají za běhu k zajištění toho, aby služby, které vyžadují určité množství prostředků, byly umístěny na uzlech s těmito prostředky dostupnými v požadovaných částkách.
IsPrimary – Pokud máte definovaných více než jeden NodeType, ujistěte se, že je pouze jeden nastavený na primární hodnotu s hodnotou true, což je místo, kde systémové služby běží. Všechny ostatní typy uzlů by měly být nastaveny na hodnotu false.
Uzly Toto jsou podrobnosti o jednotlivých uzlech, které jsou součástí clusteru (typ uzlu, název uzlu, IP adresa, doména selhání a upgradování domény uzlu). Počítače, na které chcete cluster vytvořit, musí být tady uvedené s jejich IP adresami.
Pokud použijete stejnou IP adresu pro všechny uzly, vytvoří se cluster s jedním rámečkem, který můžete použít pro účely testování. Pro nasazení produkčních úloh nepoužívejte clustery s jedním rámečkem.

Jakmile má konfigurace clusteru nakonfigurovaná všechna nastavení pro prostředí, můžete ho otestovat v prostředí clusteru (krok 7).

Nastavení prostředí

Když správce clusteru nakonfiguruje samostatný cluster Service Fabric, musí být prostředí nastaveno s následujícími kritérii:

  1. Uživatel, který cluster vytváří, by měl mít oprávnění zabezpečení na úrovni správce pro všechny počítače, které jsou uvedené jako uzly v konfiguračním souboru clusteru.

  2. Počítač, ze kterého se cluster vytvoří, a každý počítač uzlu clusteru musí:

    • Odinstalace sady Service Fabric SDK
    • Odinstalace modulu runtime Service Fabric
    • Mít povolenou službu Windows Firewall (mpssvc)
    • Mají povolenou vzdálenou službu Registru (vzdálený registr).
    • Povolit sdílení souborů (SMB)
    • Máte otevřené potřebné porty na základě konfiguračních portů clusteru.
    • Máte otevřené potřebné porty pro windows SMB a vzdálenou službu Registru: 135, 137, 138, 139 a 445
    • Mít připojení k síti mezi sebou
  3. Žádný počítač uzlu clusteru by neměl být řadičem domény.

  4. Pokud je cluster, který se má nasadit, zabezpečený, ověřte, jestli jsou splněné nezbytné požadavky na zabezpečení a jsou správně nakonfigurované pro konfiguraci.

  5. Pokud nejsou počítače clusteru přístupné z internetu, nastavte v konfiguraci clusteru následující:

    • Zakázat telemetrii: V sadě vlastností enableTelemetry: false
    • Zakažte automatické stahování verzí prostředků infrastruktury a oznámení, že aktuální verze clusteru se blíží ukončení podpory: V části vlastnosti nastavená "fabricClusterAutoupgradeEnabled": false
    • Pokud je přístup k internetu v síti omezený na povolené domény, jsou pro automatický upgrade potřeba následující domény: go.microsoft.com download.microsoft.com
  6. Nastavte příslušná vyloučení antivirové ochrany Service Fabric:

Vyloučené adresáře antivirové ochrany
Program Files\Microsoft Service Fabric
FabricDataRoot (z konfigurace clusteru)
FabricLogRoot (z konfigurace clusteru)
Vyloučené procesy antivirové ochrany
Fabric.exe
FabricHost.exe
FabricInstallerService.exe
FabricSetup.exe
FabricDeployer.exe
ImageBuilder.exe
FabricGateway.exe
FabricDCA.exe
FabricFAS.exe
FabricUOS.exe
FabricRM.exe
FileStoreService.exe

Ověření prostředí pomocí skriptu TestConfiguration

Skript TestConfiguration.ps1 najdete v samostatném balíčku. Používá se jako Analyzátor osvědčených postupů k ověření některých výše uvedených kritérií a měl by být použit jako kontrola správnosti k ověření, jestli je možné cluster nasadit v daném prostředí. Pokud dojde k nějaké chybě, projděte si seznam v části Nastavení prostředí, kde najdete informace o řešení potíží.

Tento skript lze spustit na libovolném počítači, který má přístup správce ke všem počítačům uvedeným jako uzly v konfiguračním souboru clusteru. Počítač, na který je tento skript spuštěný, nemusí být součástí clusteru.

PS C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer> .\TestConfiguration.ps1 -ClusterConfigFilePath .\ClusterConfig.Unsecure.DevCluster.json
Trace folder already exists. Traces will be written to existing trace folder: C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer\DeploymentTraces
Running Best Practices Analyzer...
Best Practices Analyzer completed successfully.


LocalAdminPrivilege        : True
IsJsonValid                : True
IsCabValid                 : True
RequiredPortsOpen          : True
RemoteRegistryAvailable    : True
FirewallAvailable          : True
RpcCheckPassed             : True
NoConflictingInstallations : True
FabricInstallable          : True
Passed                     : True

V současné době tento modul pro testování konfigurace neověřuje konfiguraci zabezpečení, takže to musí být provedeno nezávisle.

Poznámka:

Neustále vylepšujeme, aby byl tento modul robustnější, takže pokud dojde k chybnému nebo chybějícímu případu, u kterého se domníváte, že testConfiguration v současnosti není zachycený, dejte nám prosím vědět prostřednictvím našich kanálů podpory.

Další kroky