Share via


Service Fabric verwaltete Clusterknotentypen

Jeder Knotentyp in einem verwalteten Service Fabric-Cluster wird von einer VM-Skalierungsgruppe unterstützt. Bei verwalteten Clustern nehmen Sie alle erforderlichen Änderungen über den Ressourcenanbieter für verwaltete Cluster der Service Fabric vor. Alle dem Cluster zugrundeliegenden Ressourcen werden vom Anbieter des verwalteten Clusters in Ihrem Namen erstellt und abstrahiert. Die Verwaltung der Ressourcen durch den Ressourcenanbieter vereinfacht die Bereitstellung und Verwaltung des Clusterknotentyps, verhindert Bedienungsfehler wie das Löschen eines Seed-Knotens und die Anwendung bewährter Verfahren wie die Überprüfung der sicheren Verwendung einer VM-SKU.

Der Rest dieses Dokuments befasst sich mit der Anpassung verschiedener Einstellungen, von der Erstellung eines Knotentyps über die Anpassung der Anzahl der Instanzen des Knotentyps, die Aktivierung automatischer Betriebssystem-Image-Upgrades, die Änderung des Betriebssystem-Images und die Konfiguration der Platzierungseigenschaften. In diesem Dokument geht es auch um die Verwendung von Azure-Portal oder Azure Resource Manager Templates, um Änderungen vorzunehmen.

Wichtig

Zu diesem Zeitpunkt unterstützen verwaltete Service Fabric-Cluster keine benutzerdefinierten Betriebssystemimages.

Hinweis

Sie können den Knotentyp nicht ändern, solange eine Änderung im Gange ist. Es wird empfohlen, eine angeforderte Änderung erst abzuschließen, bevor eine weitere vorgenommen wird.

Hinzufügen eines Knotentyps

Sie können einen Knotentyp über Portal, eine Azure Resource Manager-Vorlage oder PowerShell zu einem von Service Fabric verwalteten Cluster hinzufügen.

Mit Portal hinzufügen

Hinweis

Sie können sekundäre Knotentypen nur über das Portal hinzufügen

  1. Anmeldung beim Azure-Portal

  2. Navigieren Sie zur Übersichtsseite Ihrer Cluster-Ressourcen. Beispielübersichtsseite

  3. Wählen Sie Node types unter dem Settings-Abschnitt aus Ansicht „Knotentypen“.

  4. Klicken Sie oben auf Add, geben Sie die erforderlichen Informationen ein, und klicken Sie dann unten auf Hinzufügen.

  5. Warten Sie, bis die Hinzufügung des neuen Knotentyps abgeschlossen ist.

Hinzufügen mit einer ARM-Vorlage

Fügen Sie einen weiteren Ressourcentyp Microsoft.ServiceFabric/managedclusters/nodetypes mit den erforderlichen Werten hinzu und führen Sie eine Clusterbereitstellung durch, damit die Einstellung wirksam wird.

  • Die apiVersion der verwalteten Service Fabric-Clusterressource sollte 2021-05-01 oder höher lauten.
  • Stellen Sie sicher, dass Sie isPrimary auf true setzen, wenn Sie beabsichtigen, einen bestehenden primären Knotentyp zu ersetzen.
{
    "apiVersion": "[variables('sfApiVersion')]",
    "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
    "name": "[concat(parameters('clusterName'), '/', parameters('nodeType2Name'))]",
    "location": "[resourcegroup().location]",
    "dependsOn": [
        "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
    ],
    "properties": {
        "isPrimary": false,
        "vmImagePublisher": "[parameters('vmImagePublisher')]",
        "vmImageOffer": "[parameters('vmImageOffer')]",
        "vmImageSku": "[parameters('vmImageSku')]",
        "vmImageVersion": "[parameters('vmImageVersion')]",
        "vmSize": "[parameters('nodeType2VmSize')]",
        "vmInstanceCount": "[parameters('nodeType2VmInstanceCount')]",
        "dataDiskSizeGB": "[parameters('nodeType2DataDiskSizeGB')]",
        "dataDiskType": "[parameters('nodeType2managedDataDiskType')]"
    }
}

Ein Beispiel für eine Zwei-Knoten-Typ-Konfiguration finden Sie in unserer Beispiel-ARM-Vorlage für zwei Knoten

Hinzufügen mit PowerShell

Um einen neuen Knotentyp zu erstellen, müssen Sie diese Eigenschaften definieren:

  • Ressourcengruppe: Ressourcengruppe, in der sich der Cluster befindet
  • Cluster-Name: Name des verwalteten Clusters
  • Name des Knotentyps: Der Name, der für alle vorhandenen Knotentypen im Cluster eindeutig ist.
  • Instanzenanzahl: Die anfängliche Anzahl von Knoten des neuen Knotentyps.
  • VM-Größe: Die VM-SKU für die Knoten. Wenn Sie hier nichts angeben, wird der Standardwert Standard_D2 verwendet.

Hinweis

Wird ein primärer Knotentyp hinzugefügt, muss die Eigenschaft -Primary verwendet werden.

$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "nt2"
$vmSize = "Standard_D2_v2"

New-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -Name $nodeTypeName -InstanceCount 3 -vmSize $vmSize

Entfernen eines Knotentyps

Sie können einen von Service Fabric verwalteten Clusterknotentyp über Portal oder PowerShell entfernen.

Hinweis

Um einen primären Knotentyp aus einem von Service Fabric verwalteten Cluster zu entfernen, müssen Sie PowerShell verwenden, und es muss mehr als ein primärer Knotentyp verfügbar sein.

Mit Portal entfernen

  1. Anmeldung beim Azure-Portal

  2. Navigieren Sie zur Übersichtsseite Ihrer Cluster-Ressourcen. Beispielübersichtsseite

  3. Wählen Sie Node types unter dem Settings-Abschnitt aus Ansicht „Knotentypen“.

  4. Wählen Sie die Node Type, die Sie entfernen möchten, und klicken Sie oben auf Delete.

Mit PowerShell entfernen

Hinweis

Das Entfernen eines primären Knotentyps für Szenarien wie die Aktualisierung der SKU dauert mehrere Stunden, und der Fortschritt kann mithilfe von SFX überwacht werden. Seed Nodes migrieren jeweils einen Knoten pro Upgrade Domain (UD) Walk.

Um einen Knotentyp zu entfernen, müssen Sie diese Eigenschaften definieren:

  • Ressourcengruppe: Ressourcengruppe, in der sich der Cluster befindet
  • Cluster-Name: Name des verwalteten Clusters
  • Name des Knotentyps: Der Name, der für alle vorhandenen Knotentypen im Cluster eindeutig ist.
$resourceGroup = "myResourceGroup"
$clusterName = "myCluster"
$nodeTypeName = "nt2"

Remove-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName  -Name $nodeTypeName

Skalieren eines Knotentyps

Sie können einen von Service Fabric verwalteten Clusterknotentyp mit Portal, ARM-Vorlage oder PowerShell skalieren. Sie können auch die automatische Skalierung für einen sekundären Knotentyp konfigurieren, wenn Sie eine vollständig automatisierte Lösung wünschen.

Hinweis

  • Ein primärer Knotentyp kann nicht auf die automatische Skalierung festgelegt werden, Sie können ihn nur auf die manuelle Skalierung festlegen.
  • Für den primären Knotentyp können Sie für einen Cluster der SKU „Basic“ nicht unter 3 Knoten und für einen Cluster der SKU „Standard“ nicht unter 5 Knoten skalieren.

Skalierung über Portal

In dieser exemplarischen Vorgehensweise erfahren Sie, wie Sie die Knotenanzahl für einen Knotentyp mithilfe des Ausschnitts ändern können.

  1. Anmeldung beim Azure-Portal

  2. Navigieren Sie zur Übersichtsseite Ihrer Cluster-Ressourcen. Beispielübersichtsseite

  3. Wählen Sie Node Types unter dem Abschnitt Settings

  4. Wählen Sie die Node type name, die Sie ändern möchten

  5. Überprüfen und aktualisieren Sie die Knotentypeigenschaften bei Bedarf.

Beispiel, das einen Anstieg der Knotenanzahl zeigt

  1. Wählen Sie Manage node type scaling zum Konfigurieren der Skalierungseinstellungen aus, und wählen Sie zwischen der benutzerdefinierten automatischen Skalierung und der manuellen Skalierung aus. Die automatische Skalierung ist ein integriertes Feature, mit dem Anwendungen bei wechselndem Bedarf eine optimale Leistung zeigen. Sie können ihre Ressource manuell auf eine bestimmte Anzahl von Instanzen skalieren, eine benutzerdefinierte Autoskalierungsrichtlinie verwenden, die die Skalierung basierend auf metrischen Schwellenwerten durchführt, oder die Anzahl der Instanzen so planen, dass die Skalierung während angegebener Zeitfenster erfolgt. Erfahren Sie mehr über die Azure-Autoskalierung, oder sehen Sie sich das Anleitungsvideo an.

    • Benutzerdefinierte Autoskalierung: Wählen Sie den entsprechenden scale mode aus, um die benutzerdefinierte Autoskalierungsrichtlinie zu definieren – Scale to a specific instance count oder Scale based on a metric. Letztere Option basiert auf Metriktriggerregeln, z. B. Erhöhen der Anzahl von Instanzen um 1, wenn der CPU-Prozentsatz über 70 % liegt. Nachdem Sie die Richtlinie definiert haben, wählen Sie oben Save aus.

      Beispiel für automatische Skalierungseinstellung

    • Manuelle Skalierung: Stellen Sie Node count auf den gewünschten neuen Wert ein, und klicken Sie oben auf Save. In diesem Bildschirmfoto war der Wert 3 und wurde auf 5 angepasst.

      Beispiel für manuelle Skalierungseinstellung

    Wählen Sie unten Apply aus, um diese gespeicherten Einstellungen für den Knotentyp zu konfigurieren.

  2. Die Provisioning state zeigt nun bis zur Fertigstellung den Status Updating an. Nach Abschluss wird wieder Succeeded angezeigt. Beispiel für die Aktualisierung eines Knotentyps

Skalieren eines Knotentyps mit einer Vorlage

Um die Knotenanzahl für einen Knotentyp mit einer ARM-Vorlage anzupassen, passen Sie die Eigenschaft vmInstanceCount mit dem neuen Wert an und führen eine Clusterbereitstellung durch, damit die Einstellung wirksam wird. Der Cluster beginnt automatisch mit dem Upgrade. Sie werden die zusätzlichen Knoten sehen, wenn das Upgrade abgeschlossen ist.

  • Die apiVersion der verwalteten Service Fabric-Clusterressource sollte 2021-05-01 oder höher lauten.

Hinweis

Der Anbieter des verwalteten Clusters blockiert Skalierungsanpassungen und gibt einen Fehler zurück, wenn die Skalierungsanforderung die erforderlichen Mindestwerte verletzt.

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    ...
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    ...
  }
}

Skalieren eines Knotentyps mit PowerShell

Ändern Sie die Instanzanzahl, um die Anzahl der Knoten für den Knotentyp zu erhöhen oder zu verringern, die Sie skalieren möchten. Sie finden Knotentypnamen in der ARM-Vorlage (Azure Resource Manager) aus der Clusterbereitstellung oder in Service Fabric Explorer.

$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "FE"
$instanceCount = "7"

Set-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -name $nodeTypeName -InstanceCount $instanceCount -Verbose

Der Cluster beginnt automatisch mit dem Upgrade. Sie werden die zusätzlichen Knoten sehen, wenn das Upgrade abgeschlossen ist.

Aktivieren automatischer Betriebssystemupgrades

Sie können automatische Betriebssystemimage-Upgrades für die virtuellen Computer aktivieren, auf denen Ihre verwalteten Clusterknoten ausgeführt werden. Obwohl die VM-Skalierungsgruppenressourcen in Ihrem Auftrag mit verwalteten Service Fabric-Clustern verwaltet werden, können Sie automatische Betriebssystemimage-Upgrades für Ihre Clusterknoten aktivieren. Wie klassische Service Fabric-Cluster werden verwaltete Clusterknoten nicht standardmäßig aktualisiert, um unbeabsichtigte Störungen Ihres Clusters zu verhindern.

So aktivieren Sie automatische Betriebssystemupgrades:

  • Verwenden Sie apiVersion 2021-05-01 (oder höher) von Microsoft.ServiceFabric/managedclusters- und Microsoft.ServiceFabric/managedclusters/nodetypes-Ressourcen.
  • Setzen Sie die Eigenschaft enableAutoOSUpgrade des Clusters auf TRUE.
  • Setzen Sie die nodeTypes-Ressourceneigenschaft vmImageVersion des Clusters auf latest.

Beispiel:

    {
      "apiVersion": "[variables('sfApiVersion')]",
      "type": "Microsoft.ServiceFabric/managedclusters",
      ...
      "properties": {
        ...
        "enableAutoOSUpgrade": true
      },
    },
    {
      "apiVersion": "[variables('sfApiVersion')]",
      "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
       ...
      "properties": {
        ...
        "vmImageVersion": "latest",
        ...
      }
    }
}

Nach der Aktivierung beginnt Service Fabric mit der Abfrage und Nachverfolgung von Betriebssystemimage-Versionen im verwalteten Cluster. Wenn eine neue Betriebssystemversion verfügbar ist, werden die Clusterknotentypen (VM-Skalierungsgruppen) nacheinander aktualisiert. Service Fabric-Runtimeupgrades werden erst ausgeführt, nachdem feststeht, dass derzeit keine Betriebssystemimage-Upgrades für Clusterknoten ausgeführt werden.

Wenn bei einem Upgrade ein Fehler auftritt, versucht Service Fabric es nach 24 Stunden erneut. Maximal drei erneute Versuche werden unternommen. Ähnlich wie bei klassischen (nicht verwalteten) Service Fabric-Upgrades können fehlerhafte Apps oder Knoten das Betriebssystemimage-Upgrade blockieren.

Weitere Informationen zu Imageupgrades finden Sie unter Automatische Betriebssystemimageupgrades mit Azure-VM-Skalierungsgruppen.

Ändern Sie die Betriebssystem-SKU für einen Knotentyp

Mit Service Fabric Managed Clusters können Sie die Betriebssystem-SKU für einen Knotentyp an Ort und Stelle ändern. Dies ist hilfreich für Szenarien wie die Migration von Windows 2019 auf Windows 2022 oder wenn Sie zu einer Server (Core) SKU im Vergleich zu Server mit Desktop Experience SKU wechseln möchten.

Ändern Sie OS SKU mit dem Portal

In dieser Schritt-für-Schritt-Anleitung erfahren Sie, wie Sie das Betriebssystem-Image für einen Knotentyp mithilfe des Portals ändern können.

  1. Anmeldung beim Azure-Portal

  2. Navigieren Sie zur Übersichtsseite Ihrer Cluster-Ressourcen. Beispielübersichtsseite

  3. Wählen Sie Node Types unter dem Abschnitt Settings

  4. Wählen Sie die Node type name, die Sie ändern möchten

  5. Stellen Sie OS Image auf den gewünschten neuen Wert ein und wählen Sie unten Apply. ![Beispiel zum Ändern des Betriebssystem-Images][change-os-image]

  6. Die Provisioning state zeigt nun den Status Updating an und fährt mit einer Upgrade-Domäne nach der anderen fort. Nach Abschluss wird wieder Succeeded angezeigt. Beispiel für die Aktualisierung eines Knotentyps

Ändern Sie OS SKU mit einer Vorlage

Um das für einen Knotentyp verwendete Betriebssystem-Image mithilfe einer ARM-Vorlage zu ändern, passen Sie die Eigenschaft vmImageSku mit dem neuen Wert an und führen Sie eine Cluster-Bereitstellung durch, damit die Einstellung wirksam wird. Der Anbieter des verwalteten Clusters führt ein Re-Image jeder Instanz nach Upgrade-Domäne durch.

  • Die apiVersion der verwalteten Service Fabric-Clusterressource sollte 2021-05-01 oder höher lauten.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    ...
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    ...
  }
}

Konfigurieren der Platzierungseigenschaften für einen Knotentyp

Placement-Eigenschaften werden verwendet, um sicherzustellen, dass bestimmte Workloads nur auf bestimmten Knotentypen im Cluster ausgeführt werden. Mit Service Fabric verwaltete Cluster unterstützen die Konfiguration dieser Eigenschaften über das Portal, die ARM-Vorlage oder PowerShell.

Konfigurieren Sie die Platzierungseigenschaften mit dem Portal

In dieser exemplarischen Vorgehensweise erfahren Sie, wie Sie eine Platzierungseigenschaft für einen Knotentyp mithilfe eines Ausschnitts ändern können.

  1. Anmeldung beim Azure-Portal

  2. Navigieren Sie zur Übersichtsseite Ihrer Cluster-Ressourcen. Beispielübersichtsseite

  3. Wählen Sie Node Types unter dem Abschnitt Settings

  4. Wählen Sie die Node type name, die Sie ändern möchten

  5. Geben Sie im Abschnitt Placement properties den gewünschten Namen und Wert ein und wählen Sie unten Apply. In diesem Bildschirmfoto wurde NameSSD_Premium mit Value von true verwendet. Beispiel für das Hinzufügen einer Platzierungseigenschaft

  6. Die Provisioning state zeigt nun bis zur Fertigstellung den Status Updating an. Nach Abschluss wird wieder Succeeded angezeigt. Beispiel für die Aktualisierung eines Knotentyps

Konfigurieren von Platzierungseigenschaften mit einer Vorlage

Um die Platzierungseigenschaften für einen Knotentyp mithilfe einer ARM-Vorlage anzupassen, passen Sie die Eigenschaft placementProperties mit den neuen Werten an und führen Sie eine Clusterbereitstellung durch, damit die Einstellung wirksam wird. Das folgende Beispiel zeigt, wie drei Werte für einen Knotentyp festgelegt werden.

  • Die apiVersion der verwalteten Service Fabric-Clusterressource sollte 2021-05-01 oder höher lauten.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    "placementProperties": {
      "PremiumSSD": "true",
      "NodeColor": "green",
      "SomeProperty": "5"
    }
  }
}

Konfigurieren der Platzierungseigenschaften mit PowerShell

Das folgende Beispiel aktualisiert und überschreibt alle vorhandenen Platzierungseigenschaften für einen bestimmten Knotentyp.

$rgName = "testRG"
$clusterName = "testCluster"
$NodeTypeName = "nt1"
Set-AzServiceFabricManagedNodeType -ResourceGroupName $rgName -ClusterName $clusterName -name $NodeTypeName -PlacementProperty @{NodeColor="Red";SomeProperty="6";} -Verbose

Ändern Sie die VM SKU für einen Knotentyp

Um die für einen Knotentyp verwendete VM-SKU-Größe mithilfe einer ARM-Vorlage zu ändern, passen Sie die Eigenschaft vmSize mit dem neuen Wert an, und führen Sie eine Cluster-Bereitstellung durch, damit die Einstellung wirksam wird. Der Anbieter des verwalteten Clusters führt ein Re-Image jeder Instanz nach Upgrade-Domäne durch. Eine Liste der SKU-Optionen finden Sie unter VM-Größen – Azure Virtual Machines | Microsoft Learn.

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    ...
    "vmSize": "[parameters('vmImageVersion')]",
    ...
  }
}

Konfigurieren mehrerer verwalteter Datenträger

Service Fabric verwaltete Cluster konfigurieren standardmäßig einen verwalteten Datenträger. Durch die Konfiguration der folgenden optionalen Eigenschaften und Werte können Sie mehr verwaltete Datenträger zu Knotentypen innerhalb eines Clusters hinzufügen. Sie können den Laufwerksbuchstaben, den Datenträgertyp und die Größe pro Datenträger angeben.

Konfigurieren Sie weitere verwaltete Datenträger, indem Sie die Eigenschaft additionalDataDisks und die erforderlichen Parameter in Ihrer Resource Manager-Vorlage wie folgt deklarieren:

Funktionsanforderungen

  • Lun muss pro Datenträger eindeutig sein und kann nicht die reservierte Lun 0 verwenden.
  • Der Datenträger kann nicht die reservierten Buchstaben C oder D verwenden und kann nach der Erstellung nicht mehr geändert werden. S wird als Standard verwendet, wenn nicht angegeben.
  • Muss einen unterstützten Datenträger-Typ angeben
  • Die apiVersion der verwalteten Service Fabric-Clusterressource muss 2022-01-01 oder höher lauten.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "properties": {
    "additionalDataDisks": {
      "lun": "1",
      "diskSizeGB": "50",
      "diskType": "Standard_LRS",
      "diskLetter": "S" 
    }
  }
}

Siehe vollständige Liste der verfügbaren Parameter

Konfigurieren des Laufwerksbuchstabens des Service Fabric-Datenträgers

Service Fabric-verwaltete Cluster konfigurieren standardmäßig einen Service Fabric-Datenträger und konfigurieren automatisch den Laufwerksbuchstaben auf allen Knoten eines Knotentyps. Wenn Sie diese optionale Eigenschaft und diesen Wert konfigurieren, können Sie den Datenträger der Service Fabric angeben und abrufen, wenn Sie spezielle Anforderungen an die Zuordnung von Laufwerksbuchstaben haben.

Funktionsanforderungen

  • Der Datenträger kann nicht die reservierten Buchstaben C oder D verwenden und kann nach der Erstellung nicht mehr geändert werden. S wird als Standard verwendet, wenn nicht angegeben.
  • Die apiVersion der verwalteten Service Fabric-Clusterressource muss 2022-01-01 oder höher lauten.
{
  {
    "apiVersion": "[variables('sfApiVersion')]",
    "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
    "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
    "location": "[resourcegroup().location]",
    "properties": {
      "dataDiskLetter": "S"
    }
  }
}

Nächste Schritte