Назад | Перейти на главную страницу

Подготовка виртуальных машин Foreman без SSH и DHCP / DNS

Я пытаюсь внедрить Foreman, чтобы мы могли управлять серверами и предоставлять их клиентам, которыми мы управляем, я установил Foreman в центральном месте, а затем установил Foreman Smart Proxy в одной из клиентских сетей, все работает нормально (удаленный Puppet агенты могут подключаться к моему интеллектуальному прокси, и мой центральный сервер Foreman может видеть данные), однако теперь я хочу подготовить новые виртуальные машины (через vCenter). Я установил foreman-vmware и настроил свой профиль вычислительных ресурсов, создал запись для моего шаблона виртуальной машины, но когда я создаю новый хост через Foreman и говорю ему клонировать из моего шаблона, он зависает в ожидании доступности узла, я предполагаю, что он может использовать SSH на нем Чтобы завершить настройку, моя проблема в том, что у сервера Foreman не будет подключения к новой виртуальной машине, я надеялся, что новая виртуальная машина (с установленным агентом Puppet) будет настроена для подключения к моему интеллектуальному прокси и завершит настройку туда?

Я неправильно понял свой дизайн? Может ли кто-нибудь помочь мне разработать решение, которое подходит мне?

Я не могу создать новый сервер DHCP, DNS и TFTP в сети клиента, поскольку он может мешать работе существующих служб DHCP и DNS.

Спасибо Бен

tl; dr: В настоящее время работать не будет, инициализация SSH осуществляется с сервера мастера.

У нас аналогичная конфигурация, когда у нас есть общедоступный / централизованный экземпляр Foreman / Puppet, к которому мы подключаем несколько «маленьких» клиентов. В нашем случае я даже не устанавливал "умный прокси" в сеть заказчика. ИТ-персонал заказчика фактически предоставил мне учетные данные SSH для минимальной установки CentOS 6.x (по сути, как развертывание образа?). В Foreman я просто создал новую виртуальную машину как «Bare Metal», а затем скопировал завершающий сценарий с вкладки «Шаблоны» на экране сведений о хосте и вставил его в виртуальную машину (мне пришлось использовать VPN для SSH на клиентском компьютере. ). В вашем случае вы, вероятно, могли бы сделать что-то подобное, но любые «ручные» шаги обычно не одобряются.

Вот несколько случайных идей, которые у меня возникли, когда я думал об этом:

  • Возможно, вам удастся выяснить, как использовать «cloud-init», тогда вы сможете «подготовить» (запустить сценарий) виртуальную машину без того, чтобы сервер мастера мог подключиться к ней по SSH. Я не уверен, как это будет работать с ESXi, и, скорее всего, потребуется некоторый "собственный код" :)

  • Возможно, настройте сервер OpenVPN на сервере мастера и настройте свои образы для автоматического подключения через VPN к серверу мастера. Это имеет некоторые преимущества в том, что вам не нужно открывать марионетку / бригадира в Интернете, но опять же, вероятно, будет задействован какой-то специальный код, пытающийся выяснить IP-адрес хоста VPN для SSH. Некоторые клиенты также могут счесть это уязвимостью, особенно если они пытаются соответствовать требованиям PCI.

  • Создайте новый модуль, который будет разрешать и конфигурацию «SSH через», так что сервер мастера будет подключаться по SSH к определенному хосту, а затем к желаемому IP-адресу клиента (ssh -t viaHost ssh $HOST_ADDRESS) в процессе подготовки. Конечно, если вы пойдете по этому пути, вы, вероятно, также сможете сделать это умной прокси-операцией, где вместо попытки SSH с сервера бригадира он попросит сделать это умный прокси.

Все это потенциальные решения, но я не думаю, что в настоящее время какое-либо из них будет работать. Было бы неплохо отправить запросы на некоторые функции по адресу http://projects.theforeman.org/projects/foreman/issues

~ Томми

Запрос на вытягивание # 3623 против тумана, который использует Форман, должен облегчить выполнение команд из user_data шаблоны с runcmd вход.