Выполняются ли пользовательские расширения сценариев, указанные в шаблонах ARM, при каждом перезапуске виртуальной машины?

Я использовал образец шаблона в приведенной ниже ссылке, чтобы создать виртуальную машину с настраиваемым расширением сценария:

https://github.com/Azure/azure-quickstart-templates/tree/master/201-vm-custom-script-windows

Если я останавливаю и запускаю виртуальную машину с портала Azure, расширение настраиваемого сценария запускается при запуске. Но если я перезапущу виртуальную машину изнутри виртуальной машины (выбрав «Перезагрузить» в меню «Пуск»), расширение настраиваемого сценария не запустится. Почему не запускается настраиваемое расширение сценария при перезапуске виртуальной машины изнутри виртуальной машины? Выполняются ли пользовательские расширения сценариев только тогда, когда виртуальная машина запускается из освобожденного состояния?

При работе с масштабируемыми наборами виртуальных машин, если я освобождаю и затем запускаю одну виртуальную машину в масштабируемом наборе с портала Azure, расширение настраиваемого сценария для этой виртуальной машины не выполняется. Но если я освобождаю, а затем запускаю весь масштабируемый набор с портала Azure, настраиваемое расширение сценария выполняется для каждой виртуальной машины.


person Andrew W    schedule 09.01.2017    source источник


Ответы (2)


Расширение настраиваемого сценария Azure позволяет владельцу виртуальной машины Azure запускать сценарий, хранящийся в хранилище Azure во время или после подготовки ВМ. Расширение сценария выполняется только один раз для каждой виртуальной машины, а не каждый раз при загрузке машины, но если вы остановите виртуальную машину через портал Azure и снова запустите виртуальную машину, виртуальная машина будет повторно подготовлена, поэтому сценарий будет запущен снова. Разница между состояниями остановленных и остановленных (освобожденных) виртуальных машин Azure, см. ссылка.
Если вам нужно повторно запускать скрипты, вы можете добавить параметр отметки времени в свой расширение настраиваемого скрипта, дополнительную информацию см. по ссылке.

person Jason Ye    schedule 09.01.2017
comment
Спасибо, Джейсон! Это имеет смысл. Я нахожу поведение масштабируемого набора виртуальных машин странным. Если я освобождаю, а затем запускаю одну виртуальную машину в масштабируемом наборе с портала, настраиваемое расширение сценария не запускается. Но если я освобождаю, а затем запускаю весь масштабируемый набор, запускается настраиваемое расширение сценария. Я бы подумал, что настраиваемое расширение сценария должно запускаться, когда я освобождаю и запускаю одну виртуальную машину в масштабируемом наборе. - person Andrew W; 09.01.2017
comment
Похоже, что параметр отметки времени доступен только в расширениях Linux для Azure, согласно предоставленной ссылке. А как насчет виртуальных машин Windows? - person Jerry; 09.05.2018

Нет. После того, как виртуальная машина остановлена ​​(освобождена или перезагружена), а затем запущена виртуальная машина, пользовательский сценарий не запускается каждый раз.

Пользовательский сценарий будет выполняться только на лету - запускается только в первый раз во время подготовки виртуальной машины.

Освобождение ВМ и запуск ВМ имеют значение только для изменения общедоступного IP-адреса. Однако именование DNS останется прежним.

person Srikanth Popuri    schedule 11.10.2017