Azure конвейер 'WinRMCustomScriptExtension' базовое соединение было закрыто в непубличной c VM - PullRequest
0 голосов
/ 10 февраля 2020

В конвейере Azure при создании виртуальной машины с помощью шаблона развертывания у нас есть опция «Настроить с помощью агента WinRM», как указано ниже. Configure with WinRM agent

Это действует как дополнительное расширение за кулисами. Но загрузка этого пользовательского расширения может быть заблокирована внутренним 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 "

Поскольку файлы не могут быть загружены, я думаю о нескольких решениях:

  1. Как узнать, какие файлы powershell azure использует для настройки winrm?
  2. Местом для хранения файлов будет учетная запись хранения (та же vnet, что и у виртуальной машины)
  3. Возможно, вообще не использовать WinRM и использовать расширение собственного сценария для разрешения всего (со всеми файлами из учетной записи хранения). Я надеюсь, что ошибка от расширения останавливает конвейер, если это произойдет.
  4. Есть ли лучшее решение для решения этой проблемы? Для меня это выглядит как плохой дизайн azure, поскольку он не распространяется на неопубликованные c ВМ.

РЕДАКТИРОВАТЬ: Найдено ответ на # 1) https://aka.ms/vstsconfigurewinrm. Это было показано в необработанных журналах конвейера, когда диагностика была включена

1 Ответ

0 голосов
/ 10 февраля 2020
  1. Даже если вы знаете - как это вам поможет? Он все равно не сможет их загрузить, и вы не можете сказать, что он использует локальные файлы
  2. Если вы включаете конечные точки службы и разрешаете своему su bnet общаться с учетной записью хранилища - это должно работать
  3. есть способ настроить WinRM при создании виртуальной машины. Пример Keyvault
  4. Вы также можете использовать расширение скрипта так, как вы хотели, но расширение скрипта также должно загружать вещи в Vm. Пример
...