Я создал масштабный набор azure vm с настраиваемым расширением сценария. Через некоторое время я обновил настраиваемое расширение сценария и захотел применить изменения на каждой виртуальной машине в масштабируемом наборе. Однако ничего не меняется. Чтобы обновить масштабируемый набор виртуальных машин, я использовал команду Update-AzureRmVmss в PowerShell. Сообщение об ошибке отсутствует, команда выполняется успешно
Команда Update-AzureRmVmss не работает
Ответы (2)
Я бы сказал, что у вас VMSS настроен на ручной режим обновления, поэтому вам нужно принудительно обновить узел.
еще одна вещь, которую вам не хватает: forceUpdateTag
. проверьте это: Как принудительно создать виртуальную машину с шаблоном ARM + CustomScriptExtension, чтобы повторно загрузить скрипт и запустить его?
Похоже, вам нужно обновить свойство 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/
Надеюсь это поможет! :) -Нил