我用自定义脚本扩展名创建了天蓝色的vm缩放集。一段时间后,我更新了自定义脚本扩展,并希望将更改应用于按比例设置的每个虚拟机。但是什么都没有改变。要更新VM规模集,我在powershell中使用了Update-AzureRmVmss命令。没有任何错误信息,命令成功执行
答案 0 :(得分:1)
我会说您将VMSS设置为手动更新模式,因此您需要强制节点更新。
您丢失的另一件事: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/
希望这会有所帮助! :) -尼尔