【问题标题】:Adding Desired State Configuration extension to a service fabric VMSS将 Desired State Configuration 扩展添加到服务结构 VMSS
【发布时间】:2018-01-10 07:09:15
【问题描述】:

我们最近需要将 Microsoft.Powershell.DSC 扩展添加到包含我们的服务结构集群的 VMSS。我们使用我们的 ARM 模板重新部署了集群,并添加了新的 DSC 扩展。在部署期间,我们观察到在给定时间,多达 5 个规模集实例中有 4 个处于重启阶段。在此期间,我们集群中的服务也没有响应。中断只有几分钟,但这似乎是不应该发生的事情。

  • 可靠性等级:银牌
  • 耐久等级:青铜

【问题讨论】:

  • 为了澄清和其他人从中学习,这是否意味着状态丢失或者您只是遇到了中断?
  • 我们遇到了中断。我们有无状态和有状态的应用程序。在应用更新时,我正在测试无状态应用程序。我认为升级过程中没有丢失任何状态。

标签: azure-service-fabric dsc azure-vm-scale-set


【解决方案1】:

这是由选定的durability 级别“青铜”引起的。

持久层用于向系统指示权限 您的 VM 与底层 Azure 基础结构的关系。在里面 主节点类型,此权限允许 Service Fabric 暂停任何 VM 级基础架构请求(例如 VM 重新启动、VM 重新映像或 VM 迁移)会影响系统的仲裁要求 服务和您的有状态服务。在非主节点类型中, 此权限允许 Service Fabric 暂停任何 VM 级别 基础架构请求,例如 VM 重新启动、VM 重新映像、VM 迁移等, 这会影响您运行的有状态服务的仲裁要求 在里面。

青铜 - 没有特权。这是默认设置,如果您仅 > 在集群中运行无状态工作负载,建议您使用此设置。

【讨论】:

  • 我怀疑你在这里,但是我正在测试的服务是无状态服务。您是否碰巧知道为什么 Bronze 可以用于无状态服务?如果 VMSS 重新启动所有机器,那么无状态服务不会变得无响应吗?
  • 是的,即使只有一个节点运行,无状态服务也可以继续运行。 (例如从节点)但是,系统服务不能。
【解决方案2】:

我建议阅读this 文章。它是一个 MS 员工博客。我将复制相关部分:

如果您不介意同时重启所有虚拟机,可以将 upgradePolicy 设置为“自动”。否则,将其设置为“手动”,并自行将规模集模型的更改应用于各个 VM。在保持应用程序正常运行时间的同时,编写向 VM 推出更新的脚本相当容易。详情请见https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-upgrade-scale-set

如果您的规模集位于 Service Fabric 群集中,则某些更新(例如更改操作系统版本)会被阻止(当前 - 将来会更改),并且建议将 upgradePolicy 设置为“自动”,因为 Service Fabric 会负责在保持可用性的同时安全地应用模型更改(如更新的扩展设置)。

【讨论】:

  • 这是我拥有的一个 Service Fabric 群集 VMSS,它允许大多数 VM 同时重新启动。可能是因为@LoekD 建议的青铜的耐用程度?
猜你喜欢
  • 1970-01-01
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-04
  • 2020-12-15
  • 1970-01-01
相关资源
最近更新 更多