Мгновенное развертывание Puppet с помощью MCollective

Мгновенное развертывание Puppet с помощью MCollective

Примечание: Я не уверен, где этот вопрос. Возможно, его лучше было бы задать наОшибка сервера, но поскольку я в первую очередь спрашиваю о хакерских и домашних сетевых целях, я спрашиваю здесь. Плюс, это, вероятно, будет выброшено с сайта менее чем за 10-100 секунд , поэтому я избегаю использовать Server Fault.

Я хочу настроить и начать возиться с Puppet Master и несколькими клиентами Puppet, чтобы почувствовать работу с Puppet с настоящим мастером. По умолчанию экземпляры клиентов Puppet обновляются (насколько мне известно) каждые 30 минут, запрашивая у мастера свою последнюю конфигурацию и применяя ее по мере ее выхода из строя.

Я слышал, что MCollective может вносить эти изменения практически мгновенно, поскольку он использует очередь сообщений и параллелизм для передачи команд клиентам в режиме реального времени.

Я пытался выяснить, как это сделать с помощью Puppet Master и Puppet Clients, но, похоже, MCollective — это гораздо более масштабный проект, чем просто плагин реального времени для Puppet Master.

Как настроить простой Puppet Master, сервер MCollective (и очередь сообщений) и мои клиенты Puppet, чтобы получать изменения в конфигурации Puppet в режиме реального времени?

(Я в целом понимаю, как это сделать apt-get install redis-server puppetmaster mcollective, но мне интересно, как на самом деле работает интеграция MCollective с Puppet Master.)

решение1

Я с этим не игрался, но это похоже на то, что вы ищете:

выдержка

Этот агент управляет агентом puppet, в отличие от старого плагина puppetd, этот поддерживает Puppet 3 и последние изменения, внесенные в его файлы блокировки и состояния.

В дополнение к базовой поддержке Puppet 3 это добавляет ряд новых функций, большинство из которых применимы как в Puppet 2.7, так и в 3.

  • Поддерживает запуски noop и без-noop
  • Поддерживает ограничение запусков по определенным тегам
  • Поддержка расширения, отсутствие расширения, ограничения расширения
  • Поддерживает указание пользовательской среды
  • Поддерживает указание настраиваемого главного хоста и порта
  • Поддержка функций Puppet 3, таких как блокировка сообщений при отключении
  • Используйте новые плагины для создания сводок, чтобы предоставлять удобные сводки там, где это необходимо.
  • Используйте новые плагины проверки для обеспечения более полной проверки входных данных и лучшего устранения ошибок.
  • Источники данных для текущего статуса агента-марионетки и статуса последнего запуска

А вот еще отрывок:

Запуск всех включенных узлов Puppet

Часто после внесения изменения вы хотите, чтобы оно было внедрено в вашу инфраструктуру как можно скорее с учетом ограничений производительности вашей инфраструктуры.

Производительность Puppet Master обычно сводится к максимальному числу одновременно работающих узлов Puppet, которые он может поддерживать.

Используя инфраструктуру MCollective, мы можем определить, сколько машин в данный момент включено, и применить каталоги.

Таким образом, чтобы запустить Puppet для всей вашей инфраструктуры, максимально приблизив число одновременных запусков Puppet к 10 узлам за раз, вам нужно сделать следующее:

  $ mco puppet runall 10

Связанный контент