# Set variable values
$resourceGroupName = "resourceGroupName"
$vmssName = "scaleSetName"
$allocationStrategy = "CapacityOptimized";
# Get the scale set information
$vmss = Get-AzVmss `
-ResourceGroupName $resourceGroupName `
-VMScaleSetName $vmssName;
# Update the allocation strategy
$vmss.SkuProfile.AllocationStrategy = $allocationStrategy
#Update the scale set
Update-AzVmss `
-ResourceGroupName $resourceGroupName `
-VMScaleSetName $vmssName `
-VirtualMachineScaleSet $vmss
更改 VM 大小
若要更改规模集中指定的 VM 大小,可以使用以下 PowerShell 命令。 在本示例中,我们将更新规模集,使用标准 D2asv4、标准 D2asv5 和标准 D2sv5。
# Set variable values
$resourceGroupName = "resourceGroupName" `
$vmssName = "scaleSetName";
# Create a variable to hold the new VM Sizes values
$vmSizeList = [System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.SkuProfileVMSize]]::new()
# Add the VM sizes to the list
$vmSizeList.Add("Standard_D2as_v5") `
$vmSizeList.Add("Standard_D2s_v5") `
$vmSizeList.Add("Standard_D2as_v4") ;
# Get the scale set information
$vmss = Get-AzVmss `
-ResourceGroupName $resourceGroupName `
-VMScaleSetName $vmssName
# Update the VM sizes in the scale set
$vmss.SkuProfile.vmSizes = $vmSizeList
#Update the scale set
Update-AzVmss `
-ResourceGroupName $resourceGroupName `
-VMScaleSetName $vmssName `
-VirtualMachineScaleSet $vmss
若要通过 REST API 更新实例组合设置,请使用 PATCH 调用规模集资源。 请务必使用 2023-09-01 或更高版本的 API:
PUT https://management.azure.com/subscriptions/{YourSubscriptionId}/resourceGroups/{YourResourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{youScaleSetName}?api-version=2023-09-01
以下各小节将介绍如果要通过 REST API 更改分配策略或 VM 大小,应使用哪些方法。
更改分配策略
必须指定要使用的 VM 大小和分配策略。 在本示例中,我们将分配策略更改为 capactiyOptimized:
若要通过 REST API 更新实例组合设置,请使用 PATCH 调用规模集资源。 请务必使用 2023-09-01 或更高版本的 API。
PUT https://management.azure.com/subscriptions/{YourSubscriptionId}/resourceGroups/{YourResourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{youScaleSetName}?api-version=2023-09-01