Hinzufügen oder Entfernen von Knoten für einen eigenständigen Service Fabric-Cluster unter Windows Server
Nachdem Sie Ihren eigenständigen Service Fabric-Cluster auf Windows Server-Computern erstellt haben, können sich Ihre geschäftlichen Anforderungen ändern, und Sie müssen Ihrem Cluster wie in diesem Artikel beschrieben Knoten hinzufügen oder daraus entfernen.
Hinweis
Die Funktion zum Hinzufügen bzw. Entfernen von Knoten wird in lokalen Entwicklungsclustern nicht unterstützt.
Hinzufügen von Knoten zum Cluster
Bereiten Sie den virtuellen Computer bzw. den Computer, den Sie dem Cluster hinzufügen möchten, anhand der Schritte zum Planen und Vorbereiten der Service Fabric-Clusterbereitstellung vor.
Identifizieren Sie, welcher Fehlerdomäne und Upgradedomäne Sie diesen virtuellen bzw. physischen Computer hinzufügen werden.
Wenn Sie Zertifikate zum Schützen des Clusters verwenden, wird erwartet, dass Zertifikate im lokalen Zertifikatspeicher als Vorbereitung installiert werden, damit der Knoten dem Cluster beitreten kann. Eine analoge Vorgehensweise ist anzuwenden, wenn andere Formen von Sicherheit verwendet werden.
Stellen Sie eine Remotedesktopverbindung mit dem virtuellen bzw. physischen Computer her, den Sie dem Cluster hinzufügen möchten.
Laden Sie das eigenständige Paket für Service Fabric für Windows Server auf den (virtuellen) Computer herunter (bzw. kopieren Sie es), und entzippen Sie das Paket.
Führen Sie PowerShell mit erhöhten Rechten aus, und navigieren Sie zum Speicherort des entzippten Pakets.
Führen Sie das Skript AddNode.ps1 mit den Parametern aus, die den hinzuzufügenden neuen Knoten beschreiben. Im folgenden Beispiel wird ein neuer Knoten mit dem Namen VM5, dem Typ NodeType0 und der IP-Adresse 182.17.34.52 in UD1 und fd:/dc1/r0 hinzugefügt.
ExistingClusterConnectionEndPoint
ist ein Verbindungsendpunkt für einen Knoten, der bereits im Cluster vorhanden ist. Dies kann die IP-Adresse beliebiger Knoten im Cluster sein.Unsicher (Prototyperstellung):
.\AddNode.ps1 -NodeName VM5 -NodeType NodeType0 -NodeIPAddressorFQDN 182.17.34.52 -ExistingClientConnectionEndpoint 182.17.34.50:19000 -UpgradeDomain UD1 -FaultDomain fd:/dc1/r0 -AcceptEULA
Sicher (zertifikatbasiert):
$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
Nachdem das Skript ausgeführt wurde, können Sie prüfen, ob der neue Knoten hinzugefügt wurde, indem Sie das Cmdlet Get-ServiceFabricNode ausführen.
Zur Gewährleistung der Konsistenz über verschiedene Knoten im Cluster müssen Sie ein Konfigurationsupgrade initiieren. Führen Sie Get-ServiceFabricClusterConfiguration aus, um die neueste Konfigurationsdatei abzurufen, und fügen Sie den neu hinzugefügten Knoten zum Abschnitt „Knoten“ hinzu. Sie sollten zudem für den Fall immer über die neueste Clusterkonfiguration verfügen, dass Sie einen Cluster mit der gleichen Konfiguration erneut bereitstellen müssen.
{ "nodeName": "vm5", "iPAddress": "182.17.34.52", "nodeTypeRef": "NodeType0", "faultDomain": "fd:/dc1/r0", "upgradeDomain": "UD1" }
Führen Sie Start-ServiceFabricClusterConfigurationUpgrade aus, um mit dem Upgrade zu beginnen.
Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
Sie können den Fortschritt des Upgrades in Service Fabric Explorer überwachen. Alternativ können Sie Get-ServiceFabricClusterUpgrade ausführen.
Hinzufügen von Knoten zu mit Windows-Sicherheit über gMSA konfigurierten Clustern
Bei Clustern, die über ein gMSA (Group Managed Service Account, gruppenverwaltetes Dienstkonto) (https://technet.microsoft.com/library/hh831782.aspx) konfiguriert wurden, kann ein neuer Knoten mit einem Konfigurationsupgrade hinzugefügt werden:
Führen Sie auf allen vorhandenen Knoten Get-ServiceFabricClusterConfiguration aus, um die neueste Konfigurationsdatei abzurufen und im Abschnitt „Knoten“ Details zum neuen Knoten hinzuzufügen. Stellen Sie sicher, dass der neue Knoten zu demselben gruppenverwalteten Konto gehört. Dieses Konto sollte ein Administratorkonto auf allen Computern sein.
{ "nodeName": "vm5", "iPAddress": "182.17.34.52", "nodeTypeRef": "NodeType0", "faultDomain": "fd:/dc1/r0", "upgradeDomain": "UD1" }
Führen Sie Start-ServiceFabricClusterConfigurationUpgrade aus, um mit dem Upgrade zu beginnen.
Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
Sie können den Fortschritt des Upgrades in Service Fabric Explorer überwachen. Alternativ können Sie Get-ServiceFabricClusterUpgrade ausführen.
Hinzufügen von Knotentypen zum Cluster
Ändern Sie Ihre Konfiguration, um im Abschnitt „NodeTypes“ unter „Eigenschaften“ einen neuen Knotentyp hinzuzufügen, und starten Sie über Start-ServiceFabricClusterConfigurationUpgrade ein Konfigurationsupgrade. Nachdem das Upgrade abgeschlossen wurde, können Sie mit diesem Knotentyp neue Knoten zum Cluster hinzufügen.
Entfernen von Knoten aus dem Cluster
Ein Knoten kann auf folgende Weise mit einem Konfigurationsupgrade aus einem Cluster entfernt werden:
Führen Sie Get-ServiceFabricClusterConfiguration aus, um die neueste Konfigurationsdatei abzurufen, und entfernen Sie den Knoten aus dem Abschnitt „Knoten“. Fügen Sie im Abschnitt „FabricSettings“ den Parameter „NodesToBeRemoved“ zum Abschnitt „Setup“ hinzu. Der „Wert“ sollte eine durch Trennzeichen getrennte Liste mit Namen der zu entfernenden Knoten sein.
"fabricSettings": [ { "name": "Setup", "parameters": [ { "name": "FabricDataRoot", "value": "C:\\ProgramData\\SF" }, { "name": "FabricLogRoot", "value": "C:\\ProgramData\\SF\\Log" }, { "name": "NodesToBeRemoved", "value": "vm0, vm1" } ] } ]
Führen Sie Start-ServiceFabricClusterConfigurationUpgrade aus, um mit dem Upgrade zu beginnen.
Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>
Sie können den Fortschritt des Upgrades in Service Fabric Explorer überwachen. Alternativ können Sie Get-ServiceFabricClusterUpgrade ausführen.
Hinweis
Durch das Entfernen von Knoten werden möglicherweise mehrere Upgrades initiiert. Einige Knoten sind mit dem Tag IsSeedNode=”true”
gekennzeichnet und können durch Abfragen des Clustermanifests über Get-ServiceFabricClusterManifest
ermittelt werden. Das Entfernen solcher Knoten dauert möglicherweise länger als bei anderen Knoten, da die Seed-Knoten in einem solchen Szenario verschoben werden müssen. Der Cluster muss mindestens 3 primäre Knotentypen verwalten.
Entfernen von Knotentypen aus dem Cluster
Überprüfen Sie vor dem Entfernen eines Knotentyps, ob andere Knoten auf den Knotentyp verweisen. Entfernen Sie diese Knoten, bevor Sie den entsprechenden Knotentyp entfernen. Nachdem alle zugehörigen Knoten entfernt wurden, können Sie den NodeType aus der Clusterkonfiguration entfernen und über Start-ServiceFabricClusterConfigurationUpgrade ein Konfigurationsupgrade starten.
Ersetzen primärer Knoten im Cluster
Das Ersetzen primärer Knoten muss für jeden Knoten einzeln ausgeführt werden. Das Entfernen und Hinzufügen in Batches ist nicht möglich.