虚拟机规模集的升级策略模式

你选择的升级策略模式可能会影响虚拟机规模集的整体服务运行时间。 可用的升级策略模式为:自动手动滚动

升级策略模式

注意

若要在升级期间更新映像引用版本,请注册以下功能标志:
Register-AzProviderFeature -FeatureName ImageReferenceUpgradeForVmoVMs -ProviderNamespace Microsoft.Compute

每个虚拟机规模集都有一个升级策略模式,该模式决定了如何使用最新的规模集模型使实例处于最新状态。 对规模集模型的更改包括需要应用于每个单独实例的更新。 示例包括:

  • 映像引用更新
  • SKU 更改
  • 添加/移除数据磁盘
  • 添加/移除扩展
  • 添加可用性区域
  • 更改容错域信息

此外,在某些情况下,你可能希望对规模集中特定实例的处理方式与其余实例不同。 例如,规模集中的某些实例可能需要执行与规模集其他成员不同的任务。 在这些情况下,实例保护滚动升级策略的自定义指标(预览版)会提供所需控制措施,以防止这些实例与其他实例一起升级。

自动升级策略模式

使用自动升级策略模式时,规模集无法保证虚拟机的关闭顺序。 规模集可能会同时关闭所有虚拟机来执行升级。

显示了使用自动升级策略时发生的情况的高级图表的关系图。

自动升级策略模式最适合开发测试方案,因为在此方案下,在对配置和设置进行更改时,你不会关心实例的运行时间。

如果规模集是 Service Fabric 群集的一部分,则“自动”模式是唯一可用的模式。 有关详细信息,请参阅 Service Fabric 应用程序升级

手动升级策略模式

使用手动升级策略模式,可以选择何时更新规模集实例。 当规模集模型发生更改时,现有虚拟机不会自动发生任何操作。 已添加到规模集的新实例将会使用可用的最新模型。

显示了使用手动升级策略时发生的情况的高级图表的关系图。

手动升级策略模式最适用于需要更好地控制实例更新时间和方式的工作负载。

滚动升级策略模式

使用滚动升级策略模式,规模集将分批执行更新。 还可以通过设置(如批大小、最大正常百分比、优先处理不正常实例以及跨可用性区域启用升级等)更好地控制升级。

显示了使用滚动升级策略时发生的情况的高级图表的关系图。

滚动升级策略模式最适合需要一定数量实例始终可用的生产工作负载。 滚动升级是将实例升级到最新模型且不影响可用性及运行时间的最安全方法。

在使用灵活业务流程的虚拟机规模集上使用滚动升级策略模式时,规模集还必须使用应用程序运行状况扩展来监视应用程序运行状况。

在使用统一业务流程的虚拟机规模集上使用滚动升级策略模式时,规模集还必须具有运行状况探测或使用应用程序运行状况扩展来监视应用程序运行状况。

需要重启、重置映像或重新部署的升级

一些升级需要重启虚拟机,而另一些升级则无需中断规模集实例即可完成。 需要重启、重置映像或重新部署虚拟机实例的更新包括:

  • 密码或 SSH 密钥更新
  • 自定义数据更改
  • 映像参考更新
  • 虚拟机大小更改
  • 添加可用性区域
  • 容错域更改
  • 邻近放置组更改

注意

虽然可以在不重启的情况下更改密码和自定义数据,但为了将升级应用于虚拟机实例,必须重置虚拟机的映像。 有关详细信息,请参阅重置虚拟机映像

后续步骤

了解如何设置虚拟机规模集的升级策略模式