【发布时间】:2016-09-04 17:58:03
【问题描述】:
由于某种原因,我找不到如何使用服务结构集群执行最基本的操作:添加更多节点。请指教。我找到的最接近的是https://msdn.microsoft.com/en-us/library/azure/mt125881.aspx,这似乎仍然不是我想要的。我所需要的只是一种改变节点数量的方法;我的集群中目前有五个 A1 节点(最简单的配置),我想要六个。
【问题讨论】:
标签: azure azure-service-fabric
由于某种原因,我找不到如何使用服务结构集群执行最基本的操作:添加更多节点。请指教。我找到的最接近的是https://msdn.microsoft.com/en-us/library/azure/mt125881.aspx,这似乎仍然不是我想要的。我所需要的只是一种改变节点数量的方法;我的集群中目前有五个 A1 节点(最简单的配置),我想要六个。
【问题讨论】:
标签: azure azure-service-fabric
1) 更改集群中 VMSS/Node 类型的实例数量的最快方法是提交对 Microsoft.Compute/virtualMachineScaleSets 资源的更改,同时更改“sku”下的“容量”标签。
添加节点不应导致有状态服务的任何数据丢失。可以删除节点,因此您需要先正常关闭节点,然后再删除该实例。
添加新节点后,SF 资源平衡器将根据需要进行负载平衡。
2) 最好的伸缩方式是在 VMSS/Nodetype 上设置自动伸缩规则。详情请参考https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-scale-up-down/。
3) 启用 VMSS 的门户体验后,添加和/删除节点的体验将变得简单,在此之前您必须发出手动 ARM 命令。
4) https://msdn.microsoft.com/en-us/library/azure/mt125881.aspx - 新的节点配置 API - 您不应该将它用于部署到 Azure 的集群。这会通过服务结构扩展自动发生,一旦出现新的 VMSS 实例就会调用该扩展。
【讨论】:
这样做的一种方法是重新部署您的模板。如果您没有模板,只是使用门户创建了集群,请转到创建新集群,并在创建前下载模板,推荐here.
现在显然你不想拥有一个全新的集群,所以你要做的是将模板重新部署到incremental mode.中的现有集群中,在模板中添加部署资源,确保模式元素为增量. (我相信部署实际上默认为增量模式,所以这可能没有必要……但以防万一;))
{
"apiVersion": "[variables('apiVersionRm')]",
"name": "[variables('nestedDeploymentNameVnet')]",
"type": "Microsoft.Resources/deployments",
"properties": {
"mode": "Incremental",
最后,要更改规模集中的节点数量,您只需更改规模集容量元素中的数量即可。
"sku": {
"name": "[parameters('vmNodeType0Size')]",
"capacity": "[parameters('node0Capacity')]",
"tier": "Standard"
你可以看到我有我的作为参数,所以我可以在重新部署时轻松地将数字更改为我需要的任何值。
【讨论】: