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

更新现有规模集上的实例组合设置

本文介绍如何更新规模集上的实例组合设置。

重要

适用于使用灵活业务流程模式的虚拟机规模集的实例组合目前为预览版。 需同意补充使用条款才可使用预览版。 在正式版 (GA) 推出之前,此功能的某些方面可能会更改。

先决条件

在使用实例组合之前,请使用 az feature register 命令完成 FlexVMScaleSetSkuProfileEnabled 功能标志的功能注册:

az feature register --namespace "Microsoft.Compute" --name "FlexVMScaleSetSkuProfileEnabled"

注册此功能需要几分钟时间。 使用 az feature show 命令验证注册状态:

az feature show --namespace "Microsoft.Compute" --name "FlexVMScaleSetSkuProfileEnabled"

更新现有规模集上的实例组合设置

可以通过 CLI、PowerShell 和 REST API 在规模集上更新实例组合设置。 可以在单个调用中更改虚拟机 (VM) 大小或分配策略,也可以同时更改这两者。

更改分配策略时,新的分配策略在规模集扩展或缩减后才会生效。也就是说,在执行缩放操作之前,不会根据分配策略更改现有 VM。

Prioritized 更改为其他分配策略时,必须首先置空与 VM 大小相关的优先级。 这将在支持代码片段中详细介绍。

在将 CLI 命令用于实例组合之前,请确保使用正确的 CLI 版本。 请确保使用的是版本 2.66.0 或更高版本。

更改分配策略

可以使用以下基本命令更新分配策略。 在本例中,我们将更新规模集以使用 CapacityOptimized 分配策略:

az vmss update \
    --resource-group {resourceGroupName} \
    --name {scaleSetName} \
    --set skuProfile.allocationStrategy=CapacityOptimized

更改 VM 大小

可以使用以下命令更新 skuProfile 中指定的 VM 大小。 在此场景中,我们将 VM 大小更新为标准 D2asv4、标准 D2asv5 和标准 D2sv5:

az vmss update \
    --resource-group {resourceGroupName} \
    --name {scaleSetName} \
    --skuprofile-vmsizes Standard_D2as_v4 Standard_D2as_v5 Standard_D2s_v5

更新现有规模集以使用实例组合

如果现有规模集没有实例组合,可以在规模集中指定 skuProfile 属性以启用实例组合。 可以通过 REST API 和 CLI 指定 skuProfilevmSizesallocationStrategy

必须更新的属性包括:

  • sku.name 必须设置为 "Mix"
  • sku.tier 必须设置为 null
  • 必须定义 skuProfile 属性。 vmSizes 中必须至少提供一个值。 应设置 allocationStrategy,但如果未提供值,则 Azure 默认为 lowestPrice

以下各部分包含示例代码片段,演示如何在现有规模集上启用实例组合。

在此代码片段中,我们将使用灵活业务流程模式更新现有规模集,以使用 VM 大小为 D2asv4、D2sv5 及 D2asv5 的实例组合和 capacityOptimized 分配策略。

az vmss update \
--name {scaleSetName} \
--resource-group {resourceGroupName} \
--set sku.name=Mix sku.tier=null \
--skuprofile-vmsizes Standard_D2as_v4 Standard_D2s_v5 Standard_D2as_v5 \
--sku-allocat-strat capacityOptimized

后续步骤

了解如何对已启用实例组合的规模集进行故障排除