Een beheerd Service Fabric-cluster implementeren met stateless knooppunttypen

Service Fabric-knooppunttypen worden geleverd met een inherente veronderstelling dat stateful services op een bepaald moment op de knooppunten kunnen worden geplaatst. Staatloze knooppunttypen wijzigen deze aanname voor een knooppunttype. Hierdoor kan het knooppunttype profiteren van functies zoals snellere uitschaalbewerkingen, ondersteuning voor automatische besturingssysteemupgrades, spot-VM's en uitschalen naar meer dan 100 knooppunten in een knooppunttype.

  • Primaire knooppunttypen kunnen niet worden geconfigureerd om staatloos te zijn.
  • Staatloze knooppunttypen vereisen een API-versie van 2021-05-01 of hoger.
  • Hiermee wordt de eigenschap multipleplacementgroup automatisch ingesteld op true, waar waarover u hier meer informatie kunt vinden.
  • Dit maakt ondersteuning mogelijk voor maximaal 1000 knooppunten voor het opgegeven knooppunttype.
  • Staatloze knooppunttypen kunnen tijdelijke schijf van een VM-SKU gebruiken.

Stateless knooppunttypen inschakelen in een beheerd Service Fabric-cluster

Als u een of meer knooppunttypen wilt instellen als staatloos in een knooppunttyperesource, stelt u de eigenschap isStateless in op true. Wanneer u een Service Fabric-cluster implementeert met staatloze knooppunttypen, moet u ten minste één primair knooppunttype hebben, dat niet staatloos is in het cluster.

Voorbeeldsjablonen zijn beschikbaar: Sjabloon voor stateless knooppunttypen van Service Fabric

  • De apiVersion van de beheerde Service Fabric-clusterresource moet 2021-05-01 of hoger zijn.
{
  "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')]"
  }
}

Stateless knooppunttypen inschakelen met spot-VM's in een beheerd Service Fabric-cluster (preview)

Met Azure Spot Virtual Machines op schaalsets kunnen gebruikers profiteren van ongebruikte rekencapaciteit tegen aanzienlijke kostenbesparingen. Op elk moment waarop Azure de capaciteit terug nodig heeft, verwijdert de Azure-infrastructuur deze Azure Spot Virtual Machine-exemplaren. Daarom zijn spot-VM-knooppunttypen ideaal voor werkbelastingen die onderbrekingen kunnen afhandelen en die niet binnen een bepaald tijdsbestek hoeven te worden voltooid. Aanbevolen workloads omvatten ontwikkeling, testen, batchverwerkingstaken, big data of andere grootschalige staatloze scenario's.

Als u een of meer staatloze knooppunttypen wilt instellen om spot-VM te gebruiken, stelt u zowel isStateless - als IsSpotVM-eigenschappen in op true. Wanneer u een Service Fabric-cluster implementeert met staatloze knooppunttypen, moet u ten minste één primair knooppunttype hebben, dat niet staatloos is in het cluster. Staatloze knooppunttypen die zijn geconfigureerd voor het gebruik van spot-VM's, hebben standaard verwijderingsbeleid ingesteld op Verwijderen. Klanten kunnen de 'evictionPolicy' configureren als 'Verwijderen' of 'Toewijzing ongedaan maken', maar dit kan alleen worden gedefinieerd op het moment dat het knooppunttype wordt gemaakt.

Voorbeeldsjablonen zijn beschikbaar: Sjabloon voor Service Fabric Spot-knooppunttypen

  • De apiVersion van de beheerde Service Fabric-clusterresource moet 2022-06-01-preview of hoger zijn.
{
  "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')]"
  }
}

Spot-VM's inschakelen met Try & Restore

Met deze configuratie kan het platform automatisch proberen de verwijderde spot-VM's te herstellen. Raadpleeg het document voor de virtuele-machineschaalset voor meer informatie. Deze configuratie kan alleen worden ingeschakeld voor nieuwe Spot-knooppunttypen door de spotRestoreTimeout op te geven. Dit is een ISO 8601-tijdsduur met een waarde tussen 30 en 2880 minuten. Na verwijdering probeert het platform de VM's gedurende deze periode te herstellen.

{
  "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')]"
  }
}

Stateless-knooppunttypen configureren voor zonetolerantie

Als u een staatloos knooppunttype wilt configureren voor zonetolerantie, moet u de beheerde clusterzone configureren die zich op clusterniveau bevindt .

Notitie

De eigenschap zonegebonden tolerantie moet worden ingesteld op clusterniveau en deze eigenschap kan niet worden gewijzigd.

Ondersteuning voor tijdelijke schijven

Staatloze knooppunttypen kunnen worden geconfigureerd om tijdelijke schijf te gebruiken als de gegevensschijf in plaats van een beheerde schijf. Het gebruik van een tijdelijke schijf kan de kosten voor staatloze workloads verlagen. Als u een staatloos knooppunttype wilt configureren voor het gebruik van de tijdelijke schijf, stelt u de eigenschap useTempDataDisk in op true.

  • De tijdelijke schijfgrootte moet 32 GB of meer zijn. De grootte van de tijdelijke schijf is afhankelijk van de VM-grootte.
  • De tijdelijke schijf wordt niet versleuteld door versleuteling aan serverzijde tenzij u versleuteling inschakelt op de host.
  • De apiVersion van de beheerde Service Fabric-clusterresource moet 2022-01-01 of hoger zijn.
{
  "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
  }
}

Migreren naar het gebruik van stateless knooppunttypen in een cluster

Voor alle migratiescenario's moet een nieuw staatloos knooppunttype worden toegevoegd. Een bestaand knooppunttype kan niet worden gemigreerd om staatloos te zijn. U kunt een nieuw staatloos knooppunttype toevoegen aan een bestaand beheerd Service Fabric-cluster en alle oorspronkelijke knooppunttypen uit het cluster verwijderen.

Volgende stappen

Voor meer informatie over beheerde Service Fabric-clusters, zie: