Два способа распространения манифестов - использование мастера марионеток или в конфигурации без мастера. Они не являются взаимоисключающими, и мы используем оба подхода в моей работе.
властный
С мастерской настройкой у вас есть мастер кукол, который содержит коллекцию всех модулей в вашей инфраструктуре. Затем узлы отправляют отчеты (каждые 30 минут по умолчанию) и запрашивают каталог того, какое программное обеспечение следует установить.
Эта модель встречается чаще. Если в вашей компании десятки или сотни серверов, вы можете легко определить конфигурацию один раз, и она будет волшебным образом распространена на все узлы.
Преимущества:
- Простое, масштабируемое управление распределенной конфигурацией
- Автоматически отменяет случайные изменения при каждом запуске кукол
- Puppet Dashboard дает обратную связь в режиме реального времени и отчеты
Недостатки:
- Кукольный агент не может легко масштабироваться до десятков тысяч узлов. (Крупные компании, такие как PayPal, на самом деле используют cron для отчетов)
- Если вы часто добавляете или удаляете узлы, управление сертификатами становится утомительным.
не имеющий владельца
Masterless по-прежнему использует преимущества Puppet, но делает это вручную, вызывая модули. В основном, просто запустите puppet apply foo --modulepath=bar
на вашем сервере. Я написал гораздо более подробное объяснение этой модели здесь: https://unix.stackexchange.com/questions/129318/can-we-install-puppet-without-touching-the-servers/130695#130695
Преимущества:
- Простое предоставление ноутбуков и рабочих станций, которым не требуется централизованное управление
- Нет необходимости разбирать ковбойские ноутбуки, которые часто уходят и входят в инфраструктуру
- Кукольные модули Masterless примерно так же просты, как написание сценариев bash, однако они более удобны в обслуживании, их легко сделать кроссплатформенными.
- Тем не менее дает вам преимущество уровня абстракции, предоставляемого puppet (попробуйте написать сценарий bash для установки пакетов с разными именами. Например, openssl-devel на всех машинах CentOS, но openssl-dev на машинах с Ubuntu, чёрт).
Недостатки:
- Сложнее распределить по узлам, нужна мякоть, мерзавец или другая техника распределения
Я настоятельно рекомендую вам взглянуть на следующие ресурсы