LINUX.ORG.RU
решено ФорумAdmin

cfengine, puppet итп


0

0

Смотрю современные тенденции и вижу много шума по поводу сабжевых прог. Однако как их в реальности использовать я не понимаю.

Все туториалы выглядят типа «щас мы автоматизированно поставим apache на 100 машин с разными осями». А нахрена это надо если можно тупо образ склонировать? Я даже париться с установкой ОС не буду, dd/rsync/restore/whatever в руки и вперёд. Заодно скриптом поправлю хостнейм и айпишники.

Другой вариант (смотрю доки puppet): настройка нагиоса. Зачем мне на каждой из 100 тачек нагиос? Я на одной из них настрою руками мониторинг остальных 99 машин. В случае если понадобится обновить нагиос читаю migration howto и правлю конфиги. А вот поправят ли профиль в том же puppet это ещё вопрос.

Для реальных боевых проектов(с теми что я имею дело) готовые профили не подходят, а своих профелей заколебаться писать можно. Проще конфиги копировать, тем более в ситуации когда все тачки выполняют разные функции. А если функция у тачек одна то делаем клонирование и всё.

Ну а если мне надо обновить кучу тачек то я могу воспользоваться для этого, например, fabric и автоматизированно всё сделать.

Собстно вопрос: что я упускаю? В доках пишут что это ultimate datacenter solution, но мне так не кажется.

★★★★★

Ещё нюанс.

Обычно на машине один-два проекта и внедрение уже сделано через fabric, а многие необходимые библиотеки, версии которых критичны, с мастер-машины заливаются через rsync в /home/sources и оттуда собираются и ставятся в /usr/local.

Почему версии ПО стабилизированы? В дистрах часто либо старьё стоит, либо что-то слишком новое что несовместимо по API.

PS смотрю в сторону virtualenv на случай если понадобится что-то эдакое поставить...

true_admin ★★★★★
() автор топика

Как ты уже понял, все не так однозначно.

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

Конфигурационные скрипты для Puppet/cfengine и подобных удобно хранить в VCS. Опять же через VCS можно более прозрачно наблюдать за изменения конфигураций на серверах, тем более когда ты не единственный кто админит большое хозяйство.

Но это как бы теория. На деле так никогда и не использовал, очень много писать/переписывать, потом это все дебажить ради сомнительной выгоды. Кстати, из всех подобных мне больше нравиться func.

oc
()
Ответ на: комментарий от oc

Еще есть мнение, что такие решения помогают делать self-documenting всей системы. Но все полностью скриптами автоматизировать тяжело, готовые библиотеки и примеры не всегда подходят - в любом случае, приходиться что-то делать руками и смысл такой системы уже теряется.



oc
()

Будешь делать образ dd, когда сменится конфиг апача ? Или ручками запустишь на 50 машин из 100 первый конфиг апача, а на 50 других второй конфиг апача ?

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Использую nginx вместо апача, но сути это не меняет. Есть базовый конфиг, он один. Особо там менять и нечего, его не трогаю. А есть виртхосты, они создаются и обновляются при внедрении приложения(fabric-ом и rsync).

Я понял, что cfengine может помочь в правке именно основных системных конфигов в случае если компы с разными осями. Тогда весь гемор по поводу различных путей в разных дистрах можно переложить на эту тулзу. Только при этом надо чтобы были различные профили для разных осей. В общем, если инфраструктура однородная то польза от тулз неочевидна.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от oc

Ждём в треде тех кто осилил, вдруг они скажут что это экономит сотни часов в год админьего времени. Тогда, пожалуй, стоит попробовать в виртуалке погонять :).

true_admin ★★★★★
() автор топика

Все так, слишком мало машин которые можно сгруппировать, чтобы получить профит от САБЖА.

Так и юзаю dsh для массовых действий.

sdio ★★★★★
()

Полагаю, что вот в этом месте:

Заодно скриптом поправлю хостнейм и айпишники

велика вероятность ошибок и лишней работы, если править придётся чуть больше, чем. Подход с внешней генерацией правильных конфигов по заданным параметрам/шаблонам надёжнее и, вероятно, проще. Хотя я второе пока в лучшем случае только понимаю, подсознание же сопротивляется.

Ко всему, я пока не нашёл системы, которая бы не имела сильно раздражающих «свойств». То version control неправильный, то язык программирования кривой, то модель взаимодействия с «центром» недостаточно параноидальна. Хоть свой велосипед изобретай, благо это нынче не трудно.

DonkeyHot ★★★★★
()

Это прежде всего аналог виндовых групповых политик. Задал настройку на мастере — и десяток машин ее тут же подхватывают. Изменил настройку — и изменения тут же вносятся на всех нужных машинах, с перезапуском демонов при необходимости.

Что касается клонирования образов — далеко не всегда это безгеморное решение. Например, нужно развернуть дополнительный софт на уже работающих машинах, у каждой из которых уже накоплена своя ценная инфа. Например (если уж ты про мониторинг вспомнил), впендюрить на них zabbix-agent.

Наиболее интересные возможности, кстати, представляет puppet + DVCS на мастере и бэкапы через клонирование дерева. Это реально удобно после бардака с ручной синхронизацией и ручным отслеживанием версий. Конечно, rsync тоже можно для обновления конфигов заюзать, но все равно придется его учить, например, демонам HUP посылать. В конечном счете все закончится созданием своего велосипеда.

nnz ★★★★
()
Ответ на: комментарий от true_admin

Есть более тяжелая штука - Spacewalk. Заточен не только под это, но централизованное управление конфигурациями есть, с макросами и прочим естественно. Сам его пока в тесте гоняю, жду релиза на Постгресе. Но в целом очень даже гут если несколько человек админит большой пул серваков.

oxumorron
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.