通过添加虚拟机规模集扩大 Service Fabric 群集

本文介绍如何通过将新的节点类型添加到现有群集来扩大 Azure Service Fabric 群集。 Service Fabric 群集是一组通过网络连接在一起的虚拟机或物理计算机,微服务会在其中部署和管理。 属于群集一部分的计算机或 VM 称为节点。 虚拟机规模集是一种 Azure 计算资源,用于将一组 VM 作为一个集进行部署和管理。 Azure 群集中定义的每个节点类型设置为独立的规模集。 然后可以单独管理每个节点类型。 创建 Service Fabric 群集之后,可以通过将新的节点类型(虚拟机规模集)添加到现有群集来水平缩放群集。 随时可以缩放群集,即使该群集上正在运行工作负荷。 在缩放群集的同时,应用程序也会随之自动缩放。

将其它规模集添加到现有群集

将新的节点类型(由虚拟机规模集支持)添加到现有群集,该操作类似于升级主节点类型,但不会使用相同的 NodeTypeRef;很显然,这不会禁用任何活跃使用的虚拟机规模集,并且如果不更新主节点类型,将不会失去群集可用性。

NodeTypeRef 属性在虚拟机规模集 Service Fabric 扩展属性中声明:

<snip>
"publisher": "Microsoft.Azure.ServiceFabric",
     "settings": {
     "clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
     "nodeTypeRef": "[parameters('vmNodeType2Name')]",
     "dataPath": "D:\\\\SvcFab",
     "durabilityLevel": "Silver",
<snip>

此外,需要将此新节点类型添加到 Service Fabric 群集资源:

<snip>
"nodeTypes": [
      {
      "name": "[parameters('vmNodeType2Name')]",
      "applicationPorts": {
                "endPort": "[parameters('nt2applicationEndPort')]",
                "startPort": "[parameters('nt2applicationStartPort')]"
      },
      "clientConnectionEndpointPort": "[parameters('nt2fabricTcpGatewayPort')]",
      "durabilityLevel": "Silver",
       "ephemeralPorts": {
                "endPort": "[parameters('nt2ephemeralEndPort')]",
                "startPort": "[parameters('nt2ephemeralStartPort')]"
      },
      "httpGatewayEndpointPort": "[parameters('nt2fabricHttpGatewayPort')]",
      "isPrimary": false,
      "vmInstanceCount": "[parameters('nt2InstanceCount')]"
},
<snip>

后续步骤