Update-AzureRmVmss命令不起作用

时间:2018-07-09 05:47:55

标签: azure azure-vm-scale-set

我用自定义脚本扩展名创建了天蓝色的vm缩放集。一段时间后,我更新了自定义脚本扩展,并希望将更改应用于按比例设置的每个虚拟机。但是什么都没有改变。要更新VM规模集,我在powershell中使用了Update-AzureRmVmss命令。没有任何错误信息,命令成功执行

2 个答案:

答案 0 :(得分:1)

我会说您将VMSS设置为手动更新模式,因此您需要强制节点更新。

https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/update-azurermvmssinstance?view=azurermps-6.4.0

您丢失的另一件事:forceUpdateTag。检查以下内容:How to force VM created with an ARM template + CustomScriptExtension to redownload the script and run it?

答案 1 :(得分:1)

听起来您需要在比例尺扩展扩展配置文件中更新“ forceUpdateTag”属性。您可以在ARM模板中执行此操作,方法是,将该属性添加到与“发布者”相同的级别,并为其提供所需的任何值(只要它与先前的值不同)即可。您也可以使用以下代码在Powershell和Az CLI中执行相同的操作:

Powershell:

$vmss = Get-AzureRmVmss -ResourceGroupName YOUR_RG_NAME -Name YOUR_VMSS_NAME
    $vmss.VirtualMachineProfile.ExtensionProfile.Extensions[0].ForceUpdateTag="1"
    Update-AzureRmVmss -ResourceGroupName YOUR_RG_NAME -VMScaleSetName YOUR_VMSS_NAME -VirtualMachineScaleSet $vmss

CLI:

    # run the first time
    az vm extension set -g ...

    # run again
    az vm extension set --force-update -g ...

在某些情况下这有点复杂,所以我整理了一篇简短的博客文章来描述它: https://negatblog.wordpress.com/2018/07/11/rerun-extensions-in-azure/

希望这会有所帮助! :) -尼尔