在虚拟机规模集上使用 MaxSurge 进行滚动升级

使用 MaxSurge 滚动升级可以帮助改善升级事件期间的服务运行时间。 启用 MaxSurge 后,将使用最新的缩放模型分批创建新实例。 当新实例完全创建并正常运行时,规模集会分批删除与旧规模集模型匹配的实例。 该过程会一直持续到所有实例更新至最新。

概念

设置 Description
滚动升级批量大小 % 指定一次要升级的规模集的总实例数。

示例:当规模集中有 10 个实例时,批大小为 20% 会导致升级批处理,每个实例有两个实例。
批处理之间的暂停时间(秒) 指定规模集在完成升级批处理和启动新批处理之间等待多长时间。

示例:暂停时间为 10 秒意味着一旦批处理成功完成,规模集将等待 10 秒,然后再移动到下一批。
最大不正常实例百分比 指定滚动升级之前及期间允许标记为不健康的实例总数。

示例:最大不正常实例 % 为 20 表示,如果你的规模集中有 10 个实例,并且整个规模集中超过两个实例报告为不正常,则滚动升级将停止。
最大异常升级比例 % 指定升级后允许标记为不正常的实例总数。

例如:最大不健康升级百分比为 20,表示如果一个规模集有 10 个实例,并且在升级后报告有超过两个实例为不健康,则会取消滚动升级。
确定不正常实例的优先级 告知规模集在升级报告为健康的实例之前,优先升级报告为不健康的实例。

示例:如果缩放集中的一些实例在滚动升级开始时失败或运行不正常,缩放集会优先更新这些实例。
启用跨区域升级 允许规模集在确定批处理时忽略可用性区域边界。 这实质上允许滚动升级将规模集视为区域部署,而不是区域性部署。

注意事项

  • 自动 OS 映像升级自动扩展升级 会自动继承 滚动升级策略 ,并使用它来执行升级。 对于使用统一编排策略的虚拟机规模集,当 MaxSurge 设置为true时,将通过 MaxSurge 升级方法实施自动操作系统映像升级和自动扩展升级。 对于具有灵活编排的虚拟机规模集,目前尚不支持同时启用自动 OS 映像升级和 MaxSurge。
  • 在 MaxSurge 中使用滚动升级时,将使用最新的规模集模型创建新的虚拟机,以使用旧的规模集模型替换虚拟机。 这些新创建的虚拟机计入总体核心配额。 此外,这些新虚拟机具有新的 IP 地址,并放置在现有子网中。 还需要有足够的 IP 地址配额和子网空间来部署这些新创建的虚拟机。
  • 在 MaxSurge 滚动升级过程中,Azure 在每个新批处理之前执行配额检查。 如果该配额检查失败,升级将默认为非 MaxSurge 升级并就地升级。
  • 在具有统一编排的虚拟机规模集中使用 MaxSurge 进行滚动升级时,使用更新模型创建的新虚拟机,可能会被放置在与替换的旧模型虚拟机不同的更新域中。
  • 如果将虚拟机附加到虚拟机规模集,则附加的虚拟机还应具有应用程序健康扩展。 如果附加的虚拟机未配置运行状况扩展并报告应用程序运行状况,则滚动升级可能会受到影响。

MaxSurge 与就地升级

MaxSurge 版本升级

使用 MaxSurge 滚动升级会创建具有最新规模集模型的新实例,以替换使用旧模型运行的实例。 通过创建新实例,可以确保规模集的容量在升级过程中的任意时刻,不低于设定的实例数量。

展示如何使用 MaxSurge 执行滚动升级的示意图。

原位升级

在禁用 MaxSurge 的情况下,滚动升级会就地执行升级。 根据升级类型,在升级过程中虚拟机可能无法处理网络流量。 这可能会在升级过程中减少规模集容量,但不会消耗任何额外的配额。

此图显示了在没有 MaxSurge 的情况下执行滚动升级的过程。

使用 MaxSurge 配置滚动升级

可以在规模集预配期间或之后启用或禁用 MaxSurge。 使用滚动升级策略时,规模集还必须使用 应用程序运行状况扩展运行状况探测。 建议使用手动升级策略创建虚拟机规模集,并在确认应用程序的运行状况已被正确报告后,将策略更新为滚动升级。

选择要更改升级策略的虚拟机规模集。 在 “设置”菜单中,选择升级策略,然后从下拉菜单中选择滚动 - 升级以分批推出,支持可选暂停

显示更新升级策略并在 Azure 门户中启用 MaxSurge 的屏幕截图。

后续步骤

若要详细了解虚拟机规模集的升级,请参阅 配置滚动升级策略