Planera och förbereda distributionen av det fristående Service Fabric-klustret

Utför följande steg innan du skapar klustret.

Planera klusterinfrastrukturen

Du håller på att skapa ett Service Fabric-kluster på datorer som du "äger", så att du kan bestämma vilka typer av fel du vill att klustret ska överleva. Behöver du till exempel separata kraftledningar eller Internetanslutningar som levereras till dessa datorer? Tänk dessutom på den fysiska säkerheten för dessa datorer. Var finns datorerna och vem behöver åtkomst till dem? När du har fattat dessa beslut kan du logiskt mappa datorerna till olika feldomäner (se nästa steg). Infrastrukturplaneringen för produktionskluster är mer involverad än för testkluster.

Fastställa antalet feldomäner och uppgraderingsdomäner

En feldomän (FD) är en fysisk felenhet och är direkt relaterad till den fysiska infrastrukturen i datacenter. En feldomän består av maskinvarukomponenter (datorer, växlar, nätverk med mera) som delar en enskild felpunkt. Även om det inte finns någon 1:1-mappning mellan feldomäner och rack, kan varje rack betraktas som en feldomän.

När du anger FD:er i ClusterConfig.json kan du välja namnet på varje FD. Service Fabric stöder hierarkiska FD:er så att du kan återspegla din infrastrukturtopologi i dem. Följande FD:n är till exempel giltiga:

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

En uppgraderingsdomän (UD) är en logisk enhet med noder. Under Orkestrerade Service Fabric-uppgraderingar (antingen en programuppgradering eller en klusteruppgradering) tas alla noder i en UD ned för att utföra uppgraderingen medan noder i andra UD:er fortfarande är tillgängliga för att hantera begäranden. Uppgraderingarna av den inbyggda programvaran som du utför på dina datorer respekterar inte UD:er, så du måste göra dem en dator i taget.

Det enklaste sättet att tänka på dessa begrepp är att betrakta FD:er som enheten för oplanerade fel och UD:er som enheten för planerat underhåll.

När du anger UD:er i ClusterConfig.json kan du välja namnet på varje UD. Följande namn är till exempel giltiga:

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

Mer detaljerad information om FD:er och UD:er finns i Beskriva ett Service Fabric-kluster.

Ett kluster i produktion bör omfatta minst tre FD:er för att kunna stödjas i en produktionsmiljö, om du har fullständig kontroll över underhållet och hanteringen av noderna, d.v.s. du ansvarar för att uppdatera och ersätta datorer. För kluster som körs i miljöer (dvs. virtuella Amazon Web Services-instanser) där du inte har fullständig kontroll över datorerna bör du ha minst fem FD:er i klustret. Varje FD kan ha en eller flera noder. Detta för att förhindra problem som orsakas av datoruppgraderingar och -uppdateringar, vilket beroende på tidpunkten kan störa körningen av program och tjänster i kluster.

Fastställa den ursprungliga klusterstorleken

I allmänhet bestäms antalet noder i klustret baserat på dina affärsbehov, det vill s.v.s. hur många tjänster och containrar som körs i klustret och hur många resurser du behöver för att upprätthålla dina arbetsbelastningar. För produktionskluster rekommenderar vi att du har minst fem noder i klustret, som sträcker sig över 5 FD:er. Men enligt beskrivningen ovan, om du har fullständig kontroll över dina noder och kan sträcka sig över tre FD:er, bör tre noder också utföra jobbet.

Testkluster som kör tillståndskänsliga arbetsbelastningar bör ha tre noder, medan testkluster som bara kör tillståndslösa arbetsbelastningar bara behöver en nod. Det bör också noteras att du i utvecklingssyfte kan ha mer än en nod på en viss dator. I en produktionsmiljö stöder Dock Service Fabric endast en nod per fysisk eller virtuell dator.

Förbereda de datorer som ska fungera som noder

Här är rekommenderade specifikationer för datorer i ett Service Fabric-kluster:

  • Minst 16 GB RAM-minne
  • Minst 40 GB ledigt diskutrymme
  • En processor med 4 kärnor eller större
  • Anslut till ett säkert nätverk eller nätverk för alla datorer
  • Windows Server OS installerat (giltiga versioner: 2012 R2, 2016, 1709 eller 1803). Service Fabric version 6.4.654.9590 och senare stöder även Server 2019 och 1809.
  • .NET Framework 4.5.1 eller senare, fullständig installation
  • Windows PowerShell 3.0
  • RemoteRegistry-tjänsten ska köras på alla datorer
  • Service Fabric-installationsenheten måste vara NTFS-filsystem
  • Prestandaloggar och aviseringar för Windows-tjänster och Windows-händelseloggar måste vara aktiverade.
  • Fjärranvändarkontokontroll måste vara inaktiverat

Viktigt!

Klusteradministratören som distribuerar och konfigurerar klustret måste ha administratörsbehörighet på var och en av datorerna. Du kan inte installera Service Fabric på en domänkontrollant.

Ladda ned det fristående Service Fabric-paketet för Windows Server

Ladda ned Link – Fristående Service Fabric-paket – Windows Server och packa upp paketet, antingen till en distributionsdator som inte ingår i klustret eller till någon av datorerna som ska ingå i klustret.

Ändra klusterkonfiguration

För att skapa ett fristående kluster måste du skapa en fristående klusterkonfigurationsfil ClusterConfig.json, som beskriver specifikationen för klustret. Du kan basera konfigurationsfilen på de mallar som finns på länken nedan.
Fristående klusterkonfigurationer

Mer information om avsnitten i den här filen finns i Konfigurationsinställningar för fristående Windows-kluster.

Öppna en av ClusterConfig.json-filerna från paketet som du laddade ned och ändra följande inställningar:

Konfigurationsinställning Beskrivning
NodeTypes Med nodtyper kan du separera dina klusternoder i olika grupper. Ett kluster måste ha minst en NodeType. Alla noder i en grupp har följande gemensamma egenskaper:
Namn – det här är namnet på nodtypen.
Slutpunktsportar – dessa heter slutpunkter (portar) som är associerade med den här nodtypen. Du kan använda valfritt portnummer som du vill, så länge de inte står i konflikt med något annat i det här manifestet och inte redan används av något annat program som körs på datorn/den virtuella datorn.
Placeringsegenskaper – Dessa beskriver egenskaper för den här nodtypen som du använder som placeringsbegränsningar för systemtjänsterna eller dina tjänster. Dessa egenskaper är användardefinierade nyckel/värde-par som ger extra metadata för en viss nod. Exempel på nodegenskaper är om noden har en hårddisk eller ett grafikkort, antalet spindlar i hårddisken, kärnor och andra fysiska egenskaper.
Kapaciteter – Nodkapaciteter definierar namnet och mängden för en viss resurs som en viss nod har tillgänglig för förbrukning. En nod kan till exempel definiera att den har kapacitet för ett mått som kallas "MemoryInMb" och att den har 2 048 MB tillgängligt som standard. Dessa kapaciteter används vid körning för att säkerställa att tjänster som kräver vissa mängder resurser placeras på de noder som har dessa resurser tillgängliga i de nödvändiga beloppen.
IsPrimary – Om du har fler än en NodeType-definierad kontrollerar du att endast en är inställd på primär med värdet true, vilket är där systemtjänsterna körs. Alla andra nodtyper ska anges till värdet false
Noder Det här är information om var och en av noderna som ingår i klustret (nodtyp, nodnamn, IP-adress, feldomän och nodens uppgraderingsdomän). De datorer som du vill att klustret ska skapas på måste anges här med sina IP-adresser.
Om du använder samma IP-adress för alla noder skapas ett one-box-kluster som du kan använda i testsyfte. Använd inte One-box-kluster för att distribuera produktionsarbetsbelastningar.

När klusterkonfigurationen har konfigurerat alla inställningar för miljön kan den testas mot klustermiljön (steg 7).

Miljöinställningar

När en klusteradministratör konfigurerar ett fristående Service Fabric-kluster måste miljön konfigureras med följande kriterier:

  1. Användaren som skapar klustret ska ha säkerhetsbehörighet på administratörsnivå för alla datorer som anges som noder i klusterkonfigurationsfilen.

  2. Dator som klustret skapas från, samt varje klusternoddator måste:

    • Avinstallera Service Fabric SDK
    • Avinstallera Service Fabric-körning
    • Aktivera Windows-brandväggstjänsten (mpssvc)
    • Aktivera fjärrregistertjänsten (fjärrregistret)
    • Aktivera fildelning (SMB)
    • Öppna nödvändiga portar baserat på klusterkonfigurationsportar
    • Ha nödvändiga portar öppna för Windows SMB och fjärrregistertjänsten: 135, 137, 138, 139 och 445
    • Ha nätverksanslutning till varandra
  3. Ingen av klusternoddatorerna ska vara en domänkontrollant.

  4. Om klustret som ska distribueras är ett säkert kluster kontrollerar du att nödvändiga säkerhetskrav finns på plats och konfigureras korrekt mot konfigurationen.

  5. Om klusterdatorerna inte är internettillgängliga anger du följande i klusterkonfigurationen:

    • Inaktivera telemetri: Under egenskaper anger du "enableTelemetry": false
    • Inaktivera automatisk nedladdning av infrastrukturresurser och meddelanden om att den aktuella klusterversionen närmar sig slutet av supporten: Under egenskaper anger du "fabricClusterAutoupgradeEnabled": false
    • Om nätverksåtkomsten till Internet är begränsad till tillåtna domäner krävs också domänerna nedan för automatisk uppgradering: go.microsoft.com download.microsoft.com
  6. Ange lämpliga Service Fabric-antivirusundantag:

Undantagna kataloger för antivirus
Program Files\Microsoft Service Fabric
FabricDataRoot (från klusterkonfiguration)
FabricLogRoot (från klusterkonfiguration)
Undantagna antivirusprocesser
Fabric.exe
FabricHost.exe
FabricInstallerService.exe
FabricSetup.exe
FabricDeployer.exe
ImageBuilder.exe
FabricGateway.exe
FabricDCA.exe
FabricFAS.exe
FabricUOS.exe
FabricRM.exe
FileStoreService.exe

Verifiera miljön med hjälp av TestConfiguration-skript

Skriptet TestConfiguration.ps1 finns i det fristående paketet. Den används som best practices analyzer för att verifiera några av kriterierna ovan och bör användas som en sanitetskontroll för att verifiera om ett kluster kan distribueras i en viss miljö. Om det uppstår ett fel läser du listan under Miljöinstallation för felsökning.

Det här skriptet kan köras på alla datorer som har administratörsåtkomst till alla datorer som anges som noder i klusterkonfigurationsfilen. Den dator som skriptet körs på behöver inte vara en del av klustret.

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

För närvarande validerar inte den här konfigurationstestmodulen säkerhetskonfigurationen, så detta måste göras oberoende av varandra.

Kommentar

Vi gör ständigt förbättringar för att göra den här modulen mer robust, så om det finns ett felaktigt eller saknat ärende som du tror för närvarande inte fångas av TestConfiguration kan du meddela oss via våra supportkanaler.

Nästa steg