Два способа распространения манифестов - использование мастера марионеток или в конфигурации без мастера. Они не являются взаимоисключающими, и мы используем оба подхода в моей работе. 
властный
С мастерской настройкой у вас есть мастер кукол, который содержит коллекцию всех модулей в вашей инфраструктуре. Затем узлы отправляют отчеты (каждые 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, чёрт). 
 
Недостатки: 
- Сложнее распределить по узлам, нужна мякоть, мерзавец или другая техника распределения
 
Я настоятельно рекомендую вам взглянуть на следующие ресурсы