У нас есть около 300 серверов RHEL, которые в настоящее время подключаются к серверу Puppetmaster. Однако мы заметили некоторые узкие места в производительности, и это точка отказа в нашей системе. Я новичок в марионетке в целом, и я рассматриваю возможность создания децентрализованной марионеточной архитектуры вместо подключения клиентов Puppet к серверу Puppetmaster. Помимо того, что, как я подозреваю, может произойти, например, повышения производительности и отсутствия подписи и обмена сертификатами SSL для новых машин, каковы еще плюсы и минусы создания децентрализованной архитектуры?
Переходите к децентрализации.
Вместо подписи сертификатов сделайте ключи ssh. Не давайте ключи не администраторам
Вы можете использовать Git в качестве транспортного средства вместо подрывной деятельности, а затем вы можете выполнять ветвление для разных машин / ролей, а затем редактировать свои изменения, а также разрешать ... но на этом этапе вы должны знать, что такое DVCS.
Это быстрее и менее требовательно в настройке. Добавьте несколько крючков фиксации для проверки работоспособности.
На этом этапе вы заменили puppetmaster с его моделью клиент-сервер на ssh и git, оба из которых масштабируются лучше, чем puppetmaster.
Теперь в вашей организации может возникнуть необходимость в иерархии. Нет проблем, просто сохраните репозиторий git, содержащий окончательную ветку, в безопасном месте.
Бонус:
git blame
позволит вам увидеть, кто внес изменения.
http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control
Вы управляете марионеткой в пассажирском кресле? хранимые конфиги? У вас действительно не должно быть проблем с масштабируемостью с 300 узлами, если вы решаете основные проблемы с настройкой.
Децентрализация - лучший способ, потому что каждый клиент компилирует свой собственный манифест из локальной копии источника манифеста. Он обновляется каждый раз, когда вы отправляете обновления с сервера, скажем, git. Гораздо более эффективное использование полосы пропускания, поскольку клиентам не нужно связываться с кукловодом при каждом запуске. Также исключает единые точки отказа, поскольку клиенты могут обновляться откуда угодно.