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

Витязь на распутье: Ansible, Chef, Salt

 , , ,


1

2

Добрый вечер, ЛОР!

Вопрос по сабжу, что из предложенного самое отлаженное и трутовое, если мне на впс-ке нужно развернуть некий минимальный стек приложений? Тот же lamp, как тривиальный пример.

Я почему-то думаю, что первый пункт или может все-таки лучше Puppet?! :-)

Мои задачи, например нужно быстро развернуть vpn за 5 минут или вышеупомянутый LAMP.

Ну, надеюсь вы поняли ;-)

★★★★★

Используй рекуррентный expect, будь мужиком. ^___~

GoodRiddance ()

Salt умеет без агента тоже.

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

RiD ()

Взял Ansible и не жалею.

что из предложенного самое отлаженное и трутовое

Все варианты. А LAMP можно вообще bash-скриптом развернуть.

alozovskoy ★★★★★ ()

Из всех перепробованных вариантов только ansible прижился.

beastie ★★★★★ ()

Дистрибутив с нужными параметрами ставится через штатный механизм preseed/kickstart.

Всё что сверху - накатывается через одну из 100500 систем управления конфигураций.

Скопировать уже установленное - clonezilla.

P.S. Если у тебя меньше 20 машин - забей на это дело, проще накатить руками. Реально, тема обширная, время потраченное на неё при мелких объёмах или редком использовании не окупается.

anonymous ()

Я для себя выбрал salt. Причины - работа как с агентом (очень полезно, когда есть клиенты за NAT или хитрыми файрволлами, на которых почти всё запрещено), так и просто over SSH (хотя это реализовано менее удобно, чем в ansible). Плюс очень легко дописывать собственный код на питоне. Chef и puppet не рассматривал, так как оба написаны на ruby, изучение которого лично для себя я считаю абсолютно бесполезным.

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

Базовую систему с salt и минимальными настройками ставлю через cobbler/kickstart с самописными шаблонами.

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

LAMP можно вообще одной строкой apt-get install развернуть. Разве-что mysql по умолчанию требует задать пароль рута при установке.

MrClon ★★★★★ ()

Вопрос по сабжу, что из предложенного самое отлаженное и трутовое

Ничего. По моему наблюдению, пользователи этого шлака, напоминают туповатых домохозяек обменивающихся 100500-м рецептом тошнотворных пирожков.

Чтобы не быть голословным циником - посчитай, в скольких рецептах ты найдешь
1. - нормально настроенный файрвол (имеется ввиду не тупая блокировка портов)
2. - нормально настроенный selinux?
3. - нормально настроенный аудит?

Сразу скажу, таких - единицы и то, большинство их авторов уже не страдают такой херней.

ioway ()

Это добро есть смысл юзать только на большом числе хостов с ограниченным числом ролей/задач.

ArcFi ()

Puppet - это не про «быстро развернуть минимальный стек». Довольно сложная, но в то же время навороченная штука. Использовать строго при желании научиться этому всему.

Salt - уже проще, но документация на офсайте слишком размана, сложно воспринимается, багов в багтрекере раза в 2 больше чем в ansible (хотя, может и не показатель).

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

pod ★★ ()

После 2 лет с chef, только ansible. chef просто ужасен, жрёт ресурсы, кукбуки полный шлак, провижен ломается несколько раз в месяц, даже с фризом кукбуков.

ksim ()

Хорошо, господа, всем спасибо за ответы.

Теперь имею представление, что к чему.

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

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

Субъективно, по Salt'у документации/примеров меньше ощутимо.
Agentless в своё время зарешал.

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

особой стабильности от него ждать тоже не стоит

По-этому я до сих пор сижу на 1.9, хватает полностью. Пару раз выхватывал проблем когда обновление даже на релиз (то есть не до последнего коммита из гита) ломает половину плейбуков (не что-то начало работать иначе а именно что поломалось), так что даже на относительно стабильную двойку пока не вижу смысла обновляться. Плюс они (разработчики Ansible) любят терять патчи (то есть какая-то фича, которую вмержили в разрабатываемую ветку, может не попасть в релиз, или попасть но быть выпиленной в следующем релизе просто потому что ее профукали при очередном мерже). В общем тут как никогда актуально «работает - не трогай».

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

Ничего. По моему наблюдению, пользователи этого шлака, напоминают туповатых домохозяек обменивающихся 100500-м рецептом тошнотворных пирожков.

Чтобы не быть голословным циником - посчитай, в скольких рецептах ты найдешь
1. - нормально настроенный файрвол (имеется ввиду не тупая блокировка портов)
2. - нормально настроенный selinux?
3. - нормально настроенный аудит?

Сразу скажу, таких - единицы и то, большинство их авторов уже не страдают такой херней.

А что, кто-то серьёзно использует готовые рецепты/кукбуки/формулы/как_бы_ещё_разработчики_это_не_назвали? Я всегда считал, что они существуют только для того, чтобы можно было подсмотреть как сделано и стащить нужные куски к себе.

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

А что, кто-то серьёзно использует готовые рецепты/кукбуки/формулы/как_бы_ещё_разработчики_это_не_назвали? Я всегда считал, что они существуют только для того, чтобы можно было подсмотреть как сделано и стащить нужные куски к себе.

В том же ansible куча народу прописывает себе установку ролей из galaxy и реп на гитхабе.

anonymous ()

ansible - порождение yamlа головного мозга.

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

В том же ansible куча народу прописывает себе установку ролей из galaxy и реп на гитхабе.

Это такая вариация на тему curl https://github.com/... | /bin/sh =).

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

Я всегда считал, что они существуют только для того, чтобы можно было подсмотреть как сделано и стащить нужные куски к себе.

Я тоже, пока не попробовал. В конце-концов уперся в то что здоровущие взаимозависимые рецепты в (декларативных моделях) все равно приходится обмазывать немалыми кусками баша, а в шефе рубать адскую простыню на рубях, которую и переиспользовать то можно только в редких случаях, при условии, что напарник рубист и выполняет весьма схожий деплой. Так что ИМХО тут не автоматизация, а снижение порога вхождения, с дерьмовыми последствиями.

ioway ()

Мне не с чем особо сравнивать, но на ~500 хостов я использую puppet 3 и foreman, ноды и на windows и на linux. Жрёт ресурсы - да, тяжеловесные файлы раздавать надо не с него - это ад и мучение, проблемы с большим количеством манифестов с exec/package под винду есть, но не сильно критичные. Тем не менее уже особо не представляю жизнь без него. Многие вещи делаются через него очень просто. Простой пример - раскатать везде кастомный vnc, работающий через рипитер с выводом id в факты с отображение через веб форму по каждой ноде отдельно через поиск foreman'а, после незамысловатой настройки добавить в манифесты значение id ноды и включить установку vnc в групповом манифесте и всё это занимает модуль на ~10 строк, манифест на ~40 строк, и по одной строке в конфиг каждой ноды, если хочешь статическое значение. Я через puppet по сути устанавливаю программы, поднимаю сервисы, контролирую версии, логины/пароли/ключи, спецсофт ставлю, делаю обновления, вношу изменения в реестр, в фаерволы, да и почти во что угодно. Да и ставлю и на серверные ноды и на клиентские. В любом случае лучше потратить время и накатать в паппете шаблоны, чем потом всё ставить руками и контролировать хз как.

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

Но есть одно «НО»... по сути это единая точка отказа и утечки для всей инфраструктуры.

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