你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在虚拟机规模集上配置滚动升级

注意

滚动升级策略仅适用于具有统一编排的虚拟机规模集。

滚动升级策略是为虚拟机规模集中的实例应用更新的最安全方法。 分批执行更新可确保规模集维护一定数量的可用于获取流量的实例,这意味着无需取消整个工作负载即可进行更改。

滚动升级策略最适合生产工作负载。

要求

  • 使用滚动升级策略时,规模集必须具有运行状况探测或使用应用程序运行状况扩展来监视应用程序运行状况。

  • 如果通过 MaxSurge 使用滚动升级,则会使用最新的规模集模型创建新 VM,以替换使用旧规模集模型的 VM。 这些新创建的 VM 具有新的实例 ID 和 IP 地址。 在启用 MaxSurge 之前,请确保子网中有足够的配额和地址空间来容纳这些新 VM。 有关配额和限制的详细信息,请参阅 Azure 订阅和服务限制

重要

对于虚拟机规模集,MaxSurge 目前为预览版功能。 若要使用此预览版功能,请使用 Azure Cloud Shell 注册提供程序功能。

Register-AzProviderFeature -FeatureName MaxSurgeRollingUpgrade -ProviderNamespace Microsoft.Compute

需同意补充使用条款才可使用预览版。 在正式版 (GA) 推出之前,这些功能的某些方面可能会有所更改。

概念

设置 说明
升级策略模式 适用于虚拟机规模集的升级策略模式是自动手动滚动
滚动升级批次大小百分比 指定单次升级规模集的总实例数。

示例:当规模集中有 10 个实例时,批次大小为 20% 意味着各个升级批次中的实例数量为 2。
两个批次之间的暂停时间(秒) 指定你希望规模集在升级批次之间等待的时间。

示例:10 秒的暂停时间意味着成功完成一个批次后,规模集将等待 10 秒,然后再开始下一个批次。
最大非正常实例百分比 指定允许在滚动升级之前和期间标记为不正常的实例总数。

示例:最大不正常实例百分比为 20 意味着如果你的规模集包含 10 个实例,并且整个规模集中出现不少于 2 个报告为不正常的实例,则滚动升级将停止。
最大非正常升级百分比 指定允许在升级后标记为不正常的实例总数。

示例:最大不正常升级百分比为 20 意味着如果你的规模集包含 10 个实例,并且在升级后,整个规模集中出现不少于 2 个报告为不正常的实例,则滚动升级将被取消。

最大不正常升级百分比是一项重要设置,因为它允许规模集在将其推广到整个规模集之前捕获不稳定或不良的更新。
优先处理不正常实例 告知规模集先升级标记为不正常的实例,然后再升级标记为正常的实例。

示例:如果规模集中的某些实例在滚动升级开始时显示为失败或运行状况不佳,则规模集会先更新这些实例。
启用跨区域升级 允许规模集在确定批次时忽略可用性区域边界。
MaxSurge 对于虚拟机规模集统一业务流程,MaxSurge 目前为预览版功能。 若要使用此预览版功能,请使用 Register-AzProviderFeature -FeatureName MaxSurgeRollingUpgrade -ProviderNamespace Microsoft.Compute 注册提供程序功能。

启用 MaxSurge 后,将使用最新的规模模型分批创建新实例。 成功创建一批新实例并将其标记为正常后,这些实例便开始接收流量。 然后,规模集将分批删除与旧规模集模型匹配的实例。 这一直持续到所有实例都处于最新状态。 使用 MaxSurge 滚动升级有助于在升级事件期间增加服务运行时间。

禁用 MaxSurge 后,规模集中的现有实例将分批关闭以进行升级。 升级的批次完成后,实例将再次开始接收流量,然后开始升级下一批。 这一直持续到所有实例更新为止。

设置或更新滚动升级策略

可以在创建规模集期间配置滚动升级策略。 由于滚动升级策略需要成功监控应用程序运行状况,并且有特定设置决定升级的完成方式,因此建议首先使用手动升级策略创建规模集。 确认系统成功报告应用程序运行状况后,请将升级策略从手动更新为滚动更新。

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

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

获取滚动升级状态

在 Azure 门户中触发滚动升级时,规模集资源顶部会显示一个横幅,告知用户滚动升级正在进行中。 可以单击“查看详细信息”以查看滚动升级的状态。 完成所有更新后,横幅将消失。

滚动升级正在进行中的横幅的屏幕截图。

Azure 门户中滚动升级的详细信息的屏幕截图。

此外,还可以在活动日志中确切地查看正在推出的更改。 滚动升级事件位于“创建或更新虚拟机规模集”下。 选择“更改历史记录”以查看正在更新的内容。

显示活动日志中滚动升级详细信息的屏幕截图。

取消滚动升级

可以使用 Azure 门户取消滚动升级,方法是在规模集上方的横幅中选择“查看详细信息”。 在弹出窗口中,可以查看当前状态,底部是“取消升级”选项。

显示活动日志中滚动升级详细信息的屏幕截图。

重启滚动升级

如果决定取消滚动升级或升级由于任何策略漏洞而停止,则令另一规模集模型发生更改的任何其他更改都会触发新的滚动升级。 如果要重启滚动升级,请触发泛型模型更新。 这会让规模集检查所有实例是否都是最新的模型。

若要在取消滚动升级后重启滚动升级,需要触发规模集以检查规模集中的实例是否是最新的规模集模型。 可以通过运行 az vmss update 来执行此操作。

az vmss update \
    --name myScaleSet \
    --resource-group myResourceGroup

后续步骤

了解如何在虚拟机规模集上执行手动升级