使用Azure PowerShell设置VMSS滚动升级策略不生效的问题排查
解决VMSS滚动升级策略设置不生效的问题
PowerShell 解决方案
你当前的代码仅修改了本地的VMSS对象副本,未将更改提交到Azure平台,因此门户中看不到更新。正确流程需包含三步:
- 获取VMSS对象到本地变量
- 修改滚动升级策略参数
- 将修改后的对象提交到Azure
完整代码如下:
# 获取VMSS本地对象 $vmss = Get-AzVmss -ResourceGroupName "my-RG" -VMScaleSetName "my-scale-set" # 修改滚动升级策略参数 Set-AzVmssRollingUpgradePolicy -VirtualMachineScaleSet $vmss -MaxBatchInstancePercent 50 -MaxUnhealthyInstancePercent 50 -MaxUnhealthyUpgradedInstancePercent 50 # 将更改提交到Azure Update-AzVmss -ResourceGroupName "my-RG" -VMScaleSetName "my-scale-set" -VirtualMachineScaleSet $vmss
Azure CLI 解决方案
若倾向使用CLI,可直接执行命令完成设置,无需处理本地对象:
az vmss update \ --resource-group my-RG \ --name my-scale-set \ --set virtualMachineProfile.upgradePolicy.rollingUpgradePolicy.maxBatchInstancePercent=50 \ --set virtualMachineProfile.upgradePolicy.rollingUpgradePolicy.maxUnhealthyInstancePercent=50 \ --set virtualMachineProfile.upgradePolicy.rollingUpgradePolicy.maxUnhealthyUpgradedInstancePercent=50
也可采用合并参数的写法:
az vmss update \ --resource-group my-RG \ --name my-scale-set \ --set virtualMachineProfile.upgradePolicy.rollingUpgradePolicy='{"maxBatchInstancePercent":50,"maxUnhealthyInstancePercent":50,"maxUnhealthyUpgradedInstancePercent":50}'
内容的提问来源于stack exchange,提问作者SendETHToThisAddress
相关产品推荐
相关产品推荐

