如何使用 VMScaleSet 将 NodeTypes 添加到 ServiceFabric,并将特定配置(例如使用数据磁盘)添加到现有 Service Fabric 群集?

Posted

技术标签:

【中文标题】如何使用 VMScaleSet 将 NodeTypes 添加到 ServiceFabric,并将特定配置(例如使用数据磁盘)添加到现有 Service Fabric 群集?【英文标题】:How to add NodeTypes to ServiceFabric with VMScaleSet and specific configuration (with datadisks for example) to an existing Service Fabric cluster? 【发布时间】:2018-12-27 16:03:09 【问题描述】:

我们有一个带有 VMSS 的 SF 集群和一个大小为 StandardA2m_V2 的 5 节点实例,但这些 vm 上的磁盘存储空间不足。我们计划向这些 VM 添加一个数据磁盘,并将 sf-datafolder 设置为这些数据磁盘。

起初我尝试将数据磁盘添加到我们的 VMSS。但是几个月前,当我们设置集群时,我们为规模集配置了非托管磁盘。要将数据磁盘添加到虚拟机,我们必须更改节点。 由于非托管磁盘,使用 Azure virtual machine scale sets and attached data disks 更新 resources.azure.com 没有成功。

然后我尝试使用 PowerShell 将节点类型添加到我们现有的集群,并使用此链接中的“Add-AzureRmServiceFabricNodeType”:How to add new Node Type to deployed Service Fabric cluster?。但是我无法通过数据磁盘传递我的特定 VM 配置。 Nodetype 只是一个用于命名的字符串。 vmsku 参数是针对“大小”的。

我还找到了Azure Service Fabric node types and virtual machine scale sets,但最终以“如何”结束...

我设法通过 armtemplate 设置了一个新集群,该集群具有 VMSS 中的特定配置,并且每个 VM 都有自己的数据磁盘。但实际上我想更新我现有的集群。有什么想法吗?

【问题讨论】:

【参考方案1】:

您可以使用任何您喜欢的配置和 sku 创建 VMSS 并将其添加到现有集群;使用放置约束,您可以将服务迁移到此横向扩展容量。排空您不再需要的现有规模集,然后删除。

【讨论】:

描述此内容的参考文档:docs.microsoft.com/en-us/azure/service-fabric/…【参考方案2】:

我会说使用您现有的配置创建一个 arm 模板并修改模板中的现有 vmss\添加另一个节点类型。这种模板的一个很好的起点是“自动化脚本”或 resources.azure.com

您还需要向 SF 资源添加另一个 nodeType。

【讨论】:

【参考方案3】:

作为第一步,我将引导您回答这个问题: Update WadCfg "only" of existing Azure Service Fabric cluster?

你必须:

为现有集群导出 ARM 模板,如上面的链接 使用新设置和配置对其进行修改(请记住,更改现有设置可能会破坏集群,例如,不允许更改主节点上的 SKU) 将更新后的模板发布到您的 azure 订阅

我建议你先在一个测试集群中试试,导出模板 并不总是导出所有必需的设置,您可能会遇到问题 在这个过程中。

【讨论】:

以上是关于如何使用 VMScaleSet 将 NodeTypes 添加到 ServiceFabric,并将特定配置(例如使用数据磁盘)添加到现有 Service Fabric 群集?的主要内容,如果未能解决你的问题,请参考以下文章

getNextElement函数

Azure 自动缩放和 Docker Swarm

数据结构——广义表

在现有且正在运行的 Azure DevOps 代理池中更改目标 VM ScaleSet?

在 Avkit 中如何使用这三行代码,以及如何将音乐静音”

如何使用静态库传输资源文件(如何将资源包装在包中)?