В конвейере Azure при создании виртуальной машины с помощью шаблона развертывания у нас есть опция «Настроить с помощью агента WinRM», как указано ниже.
Это действует как дополнительное расширение за кулисами. Но загрузка этого пользовательского расширения может быть заблокирована внутренним vnet в Azure. Это ошибка, которую мы получаем.
<datetime> Adding extension 'WinRMCustomScriptExtension' on virtual machine <vmname>
<datetime> Failed to add the extension to the vm: <vmname>. Error: "VM has reported a failure when processing extension 'WinRMCustomScriptExtension'. Error message: \"Failed to download all specified files. Exiting. Error Message: The underlying connection was closed: An unexpected error occurred on a send.\"\r\n\r\nMore information on troubleshooting is available at https://aka.ms/VMExtensionCSEWindowsTroubleshoot "
Поскольку файлы не могут быть загружены, я думаю о нескольких решениях:
- Как узнать, какие файлы powershell azure использует для настройки winrm?
- Местом для хранения файлов будет учетная запись хранения (та же vnet, что и у виртуальной машины)
- Возможно, вообще не использовать WinRM и использовать расширение собственного сценария для разрешения всего (со всеми файлами из учетной записи хранения). Я надеюсь, что ошибка от расширения останавливает конвейер, если это произойдет.
- Есть ли лучшее решение для решения этой проблемы? Для меня это выглядит как плохой дизайн azure, поскольку он не распространяется на неопубликованные c ВМ.
РЕДАКТИРОВАТЬ: Найдено ответ на # 1) https://aka.ms/vstsconfigurewinrm. Это было показано в необработанных журналах конвейера, когда диагностика была включена