通过无状态节点类型部署 Service Fabric 托管群集

关于 Service Fabric 节点类型,存在一种固有假设,即在某个时间点,有状态服务可能会被放置到节点上。 无状态节点类型更改了节点类型的这一假设。 这样,节点类型就可以受益于更快的横向扩展操作、自动 OS 升级支持、现成 VM 以及将一个节点类型横向扩展到超过 100 个节点等功能。

  • 主节点类型不能配置为无状态。
  • 无状态节点类型需使用 2021-05-01 或更高版本的 API。
  • 这样会自动将 multipleplacementgroup 属性设置为 true,可在此处了解相关详细信息。 启用此属性的基础虚拟机规模集要求和限制适用于 Service Fabric 托管群集。
  • 这样,给定节点类型将最多支持 1000 个节点。
  • 无状态节点类型可以利用 VM SKU 临时磁盘。

在 Service Fabric 托管群集中启用无状态节点类型

若要在节点类型资源中将一个或多个节点类型设置为无状态,请将“isStateless”属性设置为“true” 。 部署具有无状态节点类型的 Service Fabric 群集时,设置需至少具有一种在群集中不是无状态的主节点类型。

现提供示例模板:Service Fabric 无状态节点类型模板

  • Service Fabric 托管群集资源 apiVersion 应为 2021-05-01 或更高版本。
{
  "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')]"
  }
}

迁移为在群集中使用无状态节点类型

对于所有迁移场景,都需要添加一个新的无状态节点类型。 现有节点类型不能迁移为无状态。 可以向现有 Service Fabric 托管群集添加新的无状态节点类型,并从该群集中删除所有初始节点类型。

后续步骤

若要详细了解 Service Fabric 托管群集,请参阅: