Share via


Bereitstellen eines verwalteten Service Fabric-Clusters mit zustandslosen Knotentypen

Für Service Fabric-Knotentypen gilt die Annahme, dass zu einem bestimmten Zeitpunkt ggf. zustandsbehaftete Dienste auf den Knoten platziert werden. Zustandslose Knotentypen ändern diese Annahme für einen Knotentyp. Dadurch kann der Knotentyp von Features wie schnelleren Aufskalierungsvorgängen, Unterstützung für automatische Betriebssystemupgrades, Spot-VMs und Aufskalierung auf mehr als 100 Knoten in einem Knotentyp profitieren.

  • Primäre Knotentypen können nicht als zustandslos konfiguriert werden.
  • Zustandslose Knotentypen erfordern die API-Version 2021-05-01 oder höher.
  • Dadurch wird die Eigenschaft multipleplacementgroup automatisch auf true festgelegt, über die Sie hier mehr erfahren können.
  • Dies ermöglicht die Unterstützung von bis zu 1.000 Knoten für den angegebenen Knotentyp.
  • Zustandslose Knotentypen können einen temporären VM-SKU-Datenträger verwenden.

Aktivieren von zustandslosen Knotentypen in einem verwalteten Service Fabric-Cluster

Legen Sie die isStateless-Eigenschaft auf TRUE fest, um mindestens einen Knotentyp in einer Knotentypressource als zustandslos festzulegen. Beim Bereitstellen eines Service Fabric-Clusters mit zustandslosen Knotentypen ist mindestens ein primärer Knotentyp erforderlich, der im Cluster nicht zustandslos ist.

Es sind Beispielvorlagen verfügbar: Vorlage für zustandslose Service Fabric-Knotentypen

  • 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]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

Aktivieren zustandsloser Knotentypen mithilfe von Spot-VMs in einem verwalteten Service Fabric-Cluster (Vorschau)

Mit Azure Spot Virtual Machines in Skalierungsgruppen können Benutzer von ungenutzter Computekapazität profitieren und erhebliche Kosteneinsparungen erzielen. Wenn die Kapazität von Azure wieder benötigt wird, werden diese Azure Spot Virtual Machines-Instanzen durch die Azure-Infrastruktur entfernt. Daher eignen sich Spot-VM-Knotentypen hervorragend für Workloads, die Unterbrechungen tolerieren und nicht innerhalb eines bestimmten Zeitrahmens abgeschlossen werden müssen. Empfohlene Workloads umfassen Entwicklung, Tests, Batchverarbeitungsaufträge, Big Data oder andere groß angelegte Szenarien für zustandslose Ressourcen.

Legen Sie die Eigenschaften isStateless und IsSpotVM auf „true“ fest, um mindestens einen zustandslosen Knotentyp für die Verwendung von Spot-VMs festzulegen. Beim Bereitstellen eines Service Fabric-Clusters mit zustandslosen Knotentypen ist mindestens ein primärer Knotentyp erforderlich, der im Cluster nicht zustandslos ist. Für zustandslose Knotentypen, die für die Verwendung von Spot-VMs konfiguriert sind, ist standardmäßig die Entfernungsrichtlinie „Löschen“ festgelegt. Kunden können für „evictionPolicy“ entweder „Löschen“ oder „Zuordnung aufheben“ konfigurieren, dies ist jedoch nur zum Zeitpunkt der Erstellung von Knotentypen möglich.

Es sind Beispielvorlagen verfügbar: Vorlagen für Service Fabric-Spotknotentypen.

  • Die API-Version der verwalteten Service Fabric-Clusterressource muss 2022-06-01-preview oder höher lauten.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "IsSpotVM": true,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

Aktivieren von Spot-VMs mit „Versuchen & Wiederherstellen“

Mit dieser Konfiguration kann die Plattform automatisch versuchen, die entfernten Spot-VMs wiederherzustellen. Ausführliche Informationen finden Sie im Dokument zu VM-Skalierungsgruppen. Diese Konfiguration kann nur für neue Spotknotentypen aktiviert werden, indem spotRestoreTimeout angegeben wird. Dabei handelt es sich um einen Zeitraum im ISO 8601-Format mit einem Wert zwischen 30 und 2.880 Minuten. Die Plattform versucht, die VMs nach dem Entfernen in diesem Zeitraum wiederherzustellen.

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "IsSpotVM": true,
    "evictionPolicy": "deallocate",
    "spotRestoreTimeout": "PT30M",
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

Konfigurieren zustandsloser Knotentypen für Zonenresilienz

Um einen zustandslosen Knotentyp für Zonenresilienz zu konfigurieren, müssen Sie den Zonenumfang für verwaltete Cluster auf Clusterebene konfigurieren.

Hinweis

Die Eigenschaft für zonale Resilienz muss auf Clusterebene festgelegt werden, und diese Eigenschaft kann nicht direkt geändert werden.

Unterstützung von temporären Datenträgern

Zustandslose Knotentypen können so konfiguriert werden, dass für die Daten anstelle eines verwalteten Datenträgers ein temporärer Datenträger verwendet wird. Durch die Verwendung eines temporären Datenträgers können die Kosten für zustandslose Workloads gesenkt werden. Um einen zustandslosen Knotentyp für die Verwendung des temporären Datenträgersatzes zu konfigurieren, legen Sie die Eigenschaft useTempDataDisk auf true fest.

  • Die Größe des temporären Datenträgers muss mindestens 32 GB betragen. Die Größe des temporären Datenträgers hängt von der Größe des virtuellen Computers ab.
  • Der temporäre Datenträger wird nicht durch serverseitige Verschlüsselung verschlüsselt, es sei denn, Sie aktivieren die Verschlüsselung auf dem Host.
  • Die apiVersion der verwalteten Service Fabric-Clusterressource sollte 2022-01-01 oder höher lauten.
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "useTempDataDisk": true
  }
}

Migrieren zur Verwendung zustandsloser Knotentypen in einem Cluster

Für alle Migrationsszenarien muss ein neuer, zustandsloser Knotentyp hinzugefügt werden. Ein vorhandener Knotentyp kann nicht als zustandslos migriert werden. Sie können einem vorhandenen verwalteten Service Fabric-Cluster einen neuen zustandslosen Knotentyp hinzufügen und alle ursprünglichen Knotentypen aus dem Cluster entfernen.

Nächste Schritte

Weitere Informationen zu verwalteten Service Fabric-Clustern finden Sie in den folgenden Artikeln: