Плюсы и минусы децентрализованной кукольной архитектуры

У нас есть около 300 серверов RHEL, которые в настоящее время подключаются к серверу Puppetmaster. Однако мы заметили некоторые узкие места в производительности, и это является точкой сбоя в нашей системе. Я довольно новичок в Puppet в целом, и я рассматриваю возможность создания децентрализованной архитектуры Puppet вместо подключения клиентов Puppet к серверу Puppetmaster. Помимо того, что я подозреваю, например, увеличения производительности и отсутствия подписи и обмена сертификатами SSL для новых машин, каковы другие плюсы и минусы в настройке децентрализованной архитектуры?

3 ответа

Решение

Иди децентрализовано.

Вместо подписи сертификатов создайте ключи ssh. Не давайте ключи не администраторам

Вы можете использовать Git в качестве транспорта вместо subversion, а затем вы можете переходить на разные машины / роли, а затем вносить изменения в свои версии, а также учитывать... но вы должны знать уровень DVCS на этом этапе.

Это быстрее и менее требовательно к настройке. Добавьте некоторые фиксаторы фиксации для проверки работоспособности.

Теперь, на этом этапе, вы заменили puppetmaster с его моделью клиент-сервер на ssh и git, оба из которых масштабируются лучше, чем puppetmaster.

Теперь в вашей организации может возникнуть потребность в иерархии. Нет проблем, просто храните репозиторий git, содержащий определенную ветку, в безопасном месте.

Бонус:

git blame

позволит вам увидеть, кто внес изменения.

http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control

https://www.braintreepayments.com/braintrust/decentralize-your-devops-with-masterless-puppet-and-supply-drop?

Вы управляете марионеткой в ​​пассажирском? сохраненные конфиги? У вас действительно не должно быть проблем с масштабируемостью с 300 узлами, если вы решаете основные проблемы с настройкой.

Децентрализованный - это лучший способ, потому что каждый клиент компилирует свой собственный манифест из локальной копии источника манифеста. Это обновляется каждый раз, когда вы отправляете обновления с сервера скажем git. Гораздо более эффективное использование пропускной способности, так как клиенты не должны связываться с puppetmaster при каждом запуске. Также устраняет отдельные точки отказа, поскольку клиенты могут быть обновлены из любого места.

Другие вопросы по тегам