За свою админскую жизнь я слишком долго "бегал" от двух проектов - Zabbix и Puppet, о чём дико сожалею.
Zabbix просто замечательный проект по мониторингу состояний ваших подопечных и от него я бегал, думая что он слишком крут для меня, то есть "как из пушки по воробьям". Оказалось Zabbix лучше и проще Nagios, Munin, которых я использовал долгое время. Но сейчас речь пойдёт не о Заббиксе, а о Puppet.
Знал об инструментах оркестровки типа Puppet, но мои размышления были таковы. Puppet используется тогда, когда много одинаковых нод-серверов, а когда под твоим контролем сервера с различными задачами, то не потрачу ли я больше времени, настраивая через Puppet, чем напрямую? То есть Puppet был в моих мыслях, но долго к нему не приступал. В один прекрасный день решил ещё раз обдумать и решить для себя: быть или не быть?
Решил начать с пересмотра нашей с коллегами админской вики, в которой фиксируем свои решения и действия. Что общего у моих серверов? Что я делаю постоянно для всех серверов при их первоначальной настройке и вводе в эксплуатацию? И вы знаете, накопилось вполне себе так достаточно вещей, которые я делаю из раза в раз как робот:
Мало ли этого или достаточно? Я решил начать и пусть в дальнейшем жизнь покажет правильно было связываться с Puppet или нет? Профи через Puppet делают комплексы, где операционная система сама ставится через PXE и сама конфигурируется до полного ввода в эксплуатацию. Мне пока далёко до такого, но получив от Puppet хотя бы первоначальную настройку системы, уже здорово! Что очень порадовало, Puppet не ставит условий: или настройка через него или вручную. Никто не мешает настраивать самому то, что находится не под контролем Puppet, то есть смешивать вмешательство человека и куклы, плавно уменьшая ручное управление и увеличивая долю автоматизма. Ещё приятным бонусом стоит отметить, что Puppet'у нужно указывать "что ты хочешь", а не "как это сделать". Он сам на различных операционных системах сделает нужные различия.
Кроме общих настроек, легко создавать в стиле ООП и настройки, касающиеся группы серверов. Например, у меня есть пока маленький кластер ProxmoxVE, кластер Ceph, группа DrWeb серверов.
Для админов, которые давно используют инструменты оркестровки, я мало что могу сказать в данной вводной статье, ибо сам только "замочил ножки". Но если вы, как и я, раздумываете об использовании Puppet, то даю совет решившегося - начинайте осваивать немедленно!