Azure Service Fabric 节点类型与虚拟机规模集

虚拟机规模集是一种 Azure 计算资源。 可使用规模集以集的形式部署和管理虚拟机集合。 在 Azure Service Fabric 群集中定义的每个节点类型都只设置了一个规模集:多个节点类型不能由同一规模集提供支持,而一个节点类型不应由多个规模集提供支持。

规模集中每个虚拟机上均通过 Microsoft.Azure.ServiceFabric 虚拟机扩展安装了 Service Fabric 运行时。 可独立增加或减少每个节点类型、更改每个群集节点上运行的 OS SKU、打开不同的端口集,并使用不同的容量指标。

下图显示了一个具有两个节点类型(分别名为“FrontEnd”和“BackEnd”)的群集。 每个节点类型具有五个节点。

A cluster that has two node types

将虚拟机规模集实例映射到节点

如上图中所示,缩放集实例以实例 0 开始,然后以基数 1 递增。 编号反映在节点名称中。 例如,节点 BackEnd_0 是 BackEnd 规模集的实例 0。 此特定规模集具有五个实例,名称分别为 BackEnd_0、BackEnd_1、BackEnd_2、BackEnd_3、BackEnd_4。

横向扩展规模集时,将创建新的实例。 新的规模集实例名称通常是规模集名称加上下一个实例编号。 在本示例中,即 BackEnd_5。

将规模集负载均衡器映射到节点类型和规模集

如果已在 Azure 门户部署群集,或使用了示例 Azure 资源管理器模板,将列出资源组下所有的资源。 可看到每个规模集或节点类型的负载均衡器。 负载均衡器名称使用以下格式:LB-<节点类型名称>。 例如,下图中显示的 LB-sfcluster4doc-0:

Screenshot shows a resource group with two load balancers highlighted.

Service Fabric 虚拟机扩展

Service Fabric 虚拟机扩展用于将 Service Fabric 启动到 Azure 虚拟机以及配置节点安全性。

下面是 Service Fabric 虚拟机扩展的代码片段:

"extensions": [
  {
    "name": "[concat('ServiceFabricNodeVmExt','_vmNodeType0Name')]",
    "properties": {
      "type": "ServiceFabricLinuxNode",
      "autoUpgradeMinorVersion": true,
      "enableAutomaticUpgrade": true,
      "protectedSettings": {
        "StorageAccountKey1": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('supportLogStorageAccountName')),'2015-05-01-preview').key1]",
       },
       "publisher": "Microsoft.Azure.ServiceFabric",
       "settings": {
         "clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
         "nodeTypeRef": "[variables('vmNodeType0Name')]",
         "durabilityLevel": "Silver",
         "enableParallelJobs": true,
         "nicPrefixOverride": "[variables('subnet0Prefix')]",
         "dataPath": "D:\\\\SvcFab",
         "certificate": {
           "commonNames": [
             "[parameters('certificateCommonName')]"
           ],
           "x509StoreName": "[parameters('certificateStoreValue')]"
         }
       },
       "typeHandlerVersion": "2.0"
     }
   },

下面是属性说明:

名称 允许的值 指导或简短说明
name string 扩展的唯一名称
type “ServiceFabricLinuxNode”或“ServiceFabricNode” 确定 OS Service Fabric 正启动到
autoUpgradeMinorVersion true 或 false 在部署时使用最新次要版本的扩展
enableAutomaticUpgrade True 或 False 提供非主版本后,自动升级扩展。 仅适用于 ServiceFabricLinuxNode 类型
publisher Microsoft.Azure.ServiceFabric Service Fabric 扩展发布者的名称
clusterEndpoint string 管理终结点的 URI:PORT
nodeTypeRef string nodeType 的名称
durabilityLevel 青铜、白银、黄金、白金 允许用于暂停不可变 Azure 基础结构的时间
enableParallelJobs true 或 false 启用计算 ParallelJobs,例如在同一规模集中以并行方式删除 VM 和重启 VM
nicPrefixOverride string 子网前缀,例如“10.0.0.0/24”
commonNames string[] 已安装群集证书的公用名
x509StoreName string 已安装群集证书所在的存储的名称
typeHandlerVersion 1.1 扩展版本。 建议将 1.0 经典版扩展升级到 1.1
dataPath string 用于保存 Service Fabric 系统服务状态和应用程序数据的驱动器路径。

后续步骤