Задний план: По-видимому, у Пакера главные проблемы настройка WinRM на виртуальных машинах Azure, созданных из Сервер Microsoft Windows
издатель. Это только одна из нескольких проблем и тем, которые я нашел по этому поводу, и она насчитывает несколько лет. Из-за этого я не могу подключиться к экземпляру с помощью Packer, чтобы предоставить и подготовить наши собственные образы Windows для использования в нашей компании. Я пробовал изменять тайм-ауты, пробовал разные размеры виртуальных машин, ничего не работает. ARM-шаблон Пакера - это просто фигня при настройке WinRM. И не хотят решать проблему. В предложении предоставить способ Чтобы запустить сценарий в Azure так же, как и пользовательские данные AWS, осмысленное «решение» Hashicorp состоит в том, чтобы «подготовить пользовательский образ для обработки сценария пользовательских данных, чтобы вы могли подготовить собственный образ с помощью упаковщика». Они даже предполагают, что это невозможно сделать с помощью их кода, который откровенно ложный.
Я уже делаю это сам в AWS, настраивая запуск сценария пользовательских данных, который настраивает WinRM и брандмауэр. Мне удалось обнаружить, что в Azure есть аналогичная функция, которая называется пользовательские данные, и хотя я могу установить это с помощью лазурная рука
источник, по какой-то "прекрасной" причине В Windows нет способа запустить его, только в Linux есть через облачная инициализация
. Я могу запустить то, что мне нужно, используя Invoke — азвмрункомманд
(будь то пользовательские данные или нет, которые РЕШАЮТ ПРОБЛЕМУ! УРА! За исключением того, что Packer не (что я могу найти) не предоставляет способ запуска команд «предварительного подключения» из сборщика, у вас есть эта опция только после того, как вы нажмете на средство подготовки. Мой код обеспечения не запустится, пока не будет установлено соединение с WinRM Курица, встречай яйцо (или наоборот?)
Поэтому я не могу автоматизировать это с помощью Packer в его текущем состоянии, если только я что-то не упустил. Тем не менее, я не могу использовать здесь другой инструмент для создания имиджа из-за внутренней политики и процедур. Я извиняюсь, если этот фон немного развязный, я очень устал и разочарован этой проблемой.
Вопрос: Есть ли идеи, что не включать создание промежуточного пользовательского образа с помощью какого-либо другого процесса, который позволит мне запускать сценарий во время подготовки к виртуальной машине Windows Azure? Существуют ли альтернативные сборщики Azure для использования с Packer, которые могут помочь? Или, возможно, издатель Azure, который публикует образы Windows, которые уже имеют возможность запуска пользовательских данных при запуске? Или, возможно, есть трюк Пакера, который я еще не рассмотрел здесь? Если бы я мог просто запустить команду Azure CLI из построителя после создания виртуальной машины, я бы быстро решил эту проблему.
Другие мои мысли - раскошелиться лазурная рука
билдер и добавляю нужные мне возможности самостоятельно, или полностью пишу свой собственный провайдер. Первое решение может быть осуществимо, и я мог бы вернуть код (если Hashicorp не отклонит его, потому что «это не их путь»), но последнее кажется неуклюжим в данной ситуации. Кроме того, я не знаю Go, поэтому мне пришлось бы его изучить, и он... отличается от многих. В любом случае я хотел бы избежать разработки собственного кода для решения, если для этого сценария уже существует реальное решение.
Заранее большое спасибо за рассмотрение данного вопроса.