Lägga till eller ta bort noder i ett fristående Service Fabric-kluster som körs på Windows Server

När du har skapat ditt fristående Service Fabric-kluster på Windows Server-datorer kan dina (affärs)behov ändras och du måste lägga till eller ta bort noder i klustret enligt beskrivningen i den här artikeln.

Anteckning

Funktioner för tillägg och borttagning av noder stöds inte i lokala utvecklingskluster.

Lägga till noder i klustret

  1. Förbered den virtuella dator/dator som du vill lägga till i klustret genom att följa stegen som beskrivs i Planera och förbereda distributionen av Service Fabric-klustret.

  2. Identifiera vilken feldomän och uppgraderingsdomän som du ska lägga till den här virtuella datorn/datorn i.

    Om du använder certifikat för att skydda klustret förväntas certifikat installeras i de lokala certifikatarkiven som förberedelse för att noden ska ansluta till klustret. Analogen är tillämplig när du använder andra former av säkerhet.

  3. Fjärrskrivbord (RDP) till den virtuella dator/dator som du vill lägga till i klustret.

  4. Kopiera eller ladda ned det fristående paketet för Service Fabric för Windows Server till den virtuella datorn/datorn och packa upp paketet.

  5. Kör PowerShell med förhöjd behörighet och gå till platsen för det uppackade paketet.

  6. Kör AddNode.ps1 skriptet med parametrarna som beskriver den nya noden att lägga till. I följande exempel läggs en ny nod med namnet VM5, med typen NodeType0 och IP-adressen 182.17.34.52, till UD1 och fd:/dc1/r0. ExistingClusterConnectionEndPoint är en anslutningsslutpunkt för en nod som redan finns i det befintliga klustret, vilket kan vara IP-adressen för alla noder i klustret.

    Oskyddad (prototyper):

    .\AddNode.ps1 -NodeName VM5 -NodeType NodeType0 -NodeIPAddressorFQDN 182.17.34.52 -ExistingClientConnectionEndpoint 182.17.34.50:19000 -UpgradeDomain UD1 -FaultDomain fd:/dc1/r0 -AcceptEULA
    

    Säker (certifikatbaserad):

    $CertThumbprint= "***********************"
    
    .\AddNode.ps1 -NodeName VM5 -NodeType NodeType0 -NodeIPAddressorFQDN 182.17.34.52 -ExistingClientConnectionEndpoint 182.17.34.50:19000 -UpgradeDomain UD1 -FaultDomain fd:/dc1/r0 -X509Credential -ServerCertThumbprint $CertThumbprint  -AcceptEULA
    

    När skriptet har körts kan du kontrollera om den nya noden har lagts till genom att köra cmdleten Get-ServiceFabricNode .

  7. För att säkerställa konsekvens mellan olika noder i klustret måste du starta en konfigurationsuppgradering. Kör Get-ServiceFabricClusterConfiguration för att hämta den senaste konfigurationsfilen och lägg till den nyligen tillagda noden i avsnittet "Noder". Vi rekommenderar också att du alltid har den senaste klusterkonfigurationen tillgänglig om du behöver distribuera om ett kluster som har samma konfiguration.

    {
        "nodeName": "vm5",
        "iPAddress": "182.17.34.52",
        "nodeTypeRef": "NodeType0",
        "faultDomain": "fd:/dc1/r0",
        "upgradeDomain": "UD1"
    }
    
  8. Starta uppgraderingen genom att köra Start-ServiceFabricClusterConfigurationUpgrade .

    Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
    

    Du kan övervaka förloppet för uppgraderingen på Service Fabric Explorer. Du kan också köra Get-ServiceFabricClusterUpgrade.

Lägga till noder i kluster som konfigurerats med Windows-säkerhet med hjälp av gMSA

För kluster som konfigurerats med grupphanterat tjänstkonto (gMSA)(https://technet.microsoft.com/library/hh831782.aspx) kan en ny nod läggas till med hjälp av en konfigurationsuppgradering:

  1. Kör Get-ServiceFabricClusterConfiguration på någon av de befintliga noderna för att hämta den senaste konfigurationsfilen och lägg till information om den nya nod som du vill lägga till i avsnittet "Noder". Kontrollera att den nya noden ingår i samma grupphanterade konto. Det här kontot ska vara administratör på alla datorer.

    {
        "nodeName": "vm5",
         "iPAddress": "182.17.34.52",
         "nodeTypeRef": "NodeType0",
         "faultDomain": "fd:/dc1/r0",
         "upgradeDomain": "UD1"
    }
    
  2. Starta uppgraderingen genom att köra Start-ServiceFabricClusterConfigurationUpgrade .

    Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
    

    Du kan övervaka förloppet för uppgraderingen på Service Fabric Explorer. Du kan också köra Get-ServiceFabricClusterUpgrade

Lägga till nodtyper i klustret

Om du vill lägga till en ny nodtyp ändrar du konfigurationen så att den inkluderar den nya nodtypen i avsnittet "NodeTypes" under "Egenskaper" och påbörjar en konfigurationsuppgradering med Start-ServiceFabricClusterConfigurationUpgrade. När uppgraderingen är klar kan du lägga till nya noder i klustret med den här nodtypen.

Ta bort noder från klustret

En nod kan tas bort från ett kluster med hjälp av en konfigurationsuppgradering på följande sätt:

  1. Kör Get-ServiceFabricClusterConfiguration för att hämta den senaste konfigurationsfilen och ta bort noden från avsnittet "Noder". Lägg till parametern "NodesToBeRemoved" i avsnittet "Setup" i avsnittet "FabricSettings". Värdet ska vara en kommaavgränsad lista över nodnamn för noder som måste tas bort.

     "fabricSettings": [
         {
         "name": "Setup",
         "parameters": [
             {
             "name": "FabricDataRoot",
             "value": "C:\\ProgramData\\SF"
             },
             {
             "name": "FabricLogRoot",
             "value": "C:\\ProgramData\\SF\\Log"
             },
             {
             "name": "NodesToBeRemoved",
             "value": "vm0, vm1"
             }
         ]
         }
     ]
    
  2. Starta uppgraderingen genom att köra Start-ServiceFabricClusterConfigurationUpgrade .

    Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
    

    Du kan övervaka förloppet för uppgraderingen på Service Fabric Explorer. Du kan också köra Get-ServiceFabricClusterUpgrade.

Anteckning

Borttagning av noder kan initiera flera uppgraderingar. Vissa noder markeras med IsSeedNode=”true” taggen och kan identifieras genom att köra frågor mot klustermanifestet med hjälp av Get-ServiceFabricClusterManifest. Det kan ta längre tid än andra att ta bort sådana noder eftersom startnoderna måste flyttas runt i sådana scenarier. Klustret måste ha minst 3 noder av primär nodtyp.

Ta bort nodtyper från klustret

Innan du tar bort en nodtyp kontrollerar du om det finns noder som refererar till nodtypen. Ta bort dessa noder innan du tar bort motsvarande nodtyp. När alla motsvarande noder har tagits bort kan du ta bort NodeType från klusterkonfigurationen och påbörja en konfigurationsuppgradering med Start-ServiceFabricClusterConfigurationUpgrade.

Ersätt primära noder i klustret

Ersättningen av primära noder bör utföras en nod efter en annan, i stället för att ta bort och sedan lägga till i batchar.

Nästa steg