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

Поставщик пакетов Puppet для модулей из Puppetforge?

Используя марионетку, вы можете устанавливать «пакеты» в своей системе, используя различные «провайдеры». Есть встроенные провайдеры для yum, apt, gems и т. Д.

Есть ли поставщик пакетов puppet-module или аналогичный? Чтобы повторно использовать модули марионеток из http://forge.puppetlabs.com/, Я загружаю выпуск, распаковываю его в свой репозиторий исходных текстов и добавляю в свои источники. Это не идеально - я хотел бы иметь возможность повторно использовать модуль, не копируя его.

Есть ли способ лучше? Я хотел бы иметь возможность устанавливать и использовать puppet-модули на puppetmaster, используя саму puppet. Это упростит использование / обновление модулей и позволит работать на более высоком уровне абстракции.

Я предполагаю, что это может быть проблема курица-яйцо - марионетка может изо всех сил пытаться проверить мои манифесты, если они содержат ресурсы, которые она еще не установила, но, может быть, это можно обойти с помощью этапов?

Выпуск № 11209 покрывает его создание, но похоже, что Puppet Labs пока не уверены в этом. Возможно, ваш вклад будет полезен?

Что касается установки модулей до их использования, я бы не подумал, что это возможно. В 2.7.8 добавлена ​​поддержка выбора поставщиков позже в ходе выполнения, но я не думаю, что она распространяется на типы. Вы также не сможете включить модуль или манифесты в каталог, поскольку он уже скомпилирован. Я думаю, вам нужно дважды запустить Puppet на главном сервере - один раз для начальной загрузки и для установки модулей, затем снова для его реального / полного запуска Puppet.

Я не знаю способа сделать это на 100% в марионетке, но есть Марионеточный модуль тоже (PMT) что могло бы стать началом. Это позволяет вам искать и устанавливать модули из puppetforge в командной строке.

В Puppet labs только что была опубликована запись в блоге из двух частей (часть 1, часть 2), в котором рассказывается, как его использовать. Если вы используете puppet> = 2.7.14, он уже находится в puppet. Если нет, вы можете получить его от их учетная запись github.

В качестве обновления я публикую здесь несколько новых опций:

  1. Ты можешь использовать библиотекарь-марионетка установить модули на марионеточном мастере
  2. Очень многообещающе эта проблема была упомянута на PuppetConf 2013 одним из владельцев продуктов для puppet forge. Вот откровенный раздел говорить на YouTube. Он упомянул (ближе к концу своего ответа), что puppetlabs экспериментировала с типом ресурса для установки модулей на главном сервере.