Pull to refresh

Comments 37

Спасибо за ссылки, вот еще одна. Но как написано в ней, Ansible в первую очередь:
Ansible — достаточно простой, но при этом эффективный инструмент для удаленного управления конфигурациями

Судя по документации (в частности по Windows) там очень ограниченные возможности и надо учить синтаксис. Кроме этого, графическая оболочка платная. SSC Panel понимает Powershell\cmd\bash
Хотите иметь карьерный рост? Учите этот «непонятный синтаксис» (yaml-то) и используйте нормальные инструменты.
Да, в Ansible реализовано пока ещё не всё. Мне кажется ваши силы было бы правильнее вложить в уже существующий проект, улучшить его и таким образом сделать мир лучше =)
гораздо лучше с Windows у SaltStack

web-ui немного под-заброшен, правда, но бесплатный
Обычно я делаю как то так:
for s in `cat servers`; do ssh $s `cat commands`; done

где servers это файл со списком задействованных серверов, а commands это файл, содержащий команды, которые необходимо на этих серверах выполнить.

В результате выходит что то вроде:
ssh 192.168.1.101 touch test.file && rm test.file
ssh 192.168.1.102 touch test.file && rm test.file
ssh 192.168.1.103 touch test.file && rm test.file

и это колдунство даже работает.
Откройте для себя dsh и не издевайтесь над здравым смыслом.
Давно открыл, иногда даже пользую.
Примерно с этого все и начиналось, правда на Powershell.
Так почему на этом не закончилось?
Не удобно было пользоваться: куча файлов со скриптами\списками серверов. Если не один админ — приходится все это шарить между всеми.
А теперь расскажите нам почему это плохо и почему так делать не надо никогда.
Что плохого в том, что мне надо выполнить скрипт на нескольких серверах? Велосипедостроением много кто занимается, в том числе и авторы проектов puppet/ansible, которых что то не устроило в существующих проектах.
Puppet не для того чтобы «выполнить скрипт на нескольких серверах»
Мне как раз и надо было «выполнить скрипт на нескольких серверах».
Прочитал… Почему не puppet/chef/ansible/salt/etc? Заодно и ЯП новые изучить.
Где ссылки на репу? Или это так, сообщить, что «я вот такое сделал и ни с кем не поделюсь»?
Я несколько раз присматривался к puppet/chef/etc, но останавливало (возможно по незнанию):
1) всегда думал, что эти продукты необходимы для первоначальной настройки сервера(ов). Для этого я использую другие самописные скрипты.
2) сложный синтаксис
3) платный GUI

По поводу репы:
1) Продукт еще очень сырой. Иногда нахожу такие баги, что ужас.
2) Использую платную тему и не могу ее выкладывать на паблик. В связи с этом надо что то думать.
>1) всегда думал, что эти продукты необходимы для первоначальной настройки сервера(ов). Для этого я использую другие самописные скрипты.

Нет — я, например, при помощи puppet веду полный цикл жизни сервера.

>2) сложный синтаксис
DSL паппета очень прост

>3) платный GUI
Для того же puppet есть theforeman, puppetboard, встроенный dashboard, наконец. Фореман еще и виртуалки может сам разворачивать…
По поводу «первоначальной настройки» — совсем нет, у нас также, как в комменте ниже, полный цикл жизни. Зависит от того как составлен манифест, можно же не только пользоваться встроенными package manager, например, в паппете можно своё файлохранилище сделать и расписать, что на эту ноду идет такая-то версия, а на другую такая-то. Да и в package manager опять же можно указать какая версия должна быть установлена.

У нас все манифесты хранятся в git, поэтому шарить между админами всего этого дела достаточно просто :)
>1) всегда думал, что эти продукты необходимы для первоначальной настройки сервера(ов).

Нет, любые вещи можно изменить в любой момент.

>2) сложный синтаксис

А поверршелл типа простой?

>3) платный GUI

Напишите свой бесплатный.
> Нет, любые вещи можно изменить в любой момент.
Спасибо, я попробую еще раз разобраться в этих продуктах.

> А поверршелл типа простой?
Каждому свое, для меня он не сложный. Думаю, что я смогу разобраться с языками в этих продуктах.

> Напишите свой бесплатный.
Вот и делаю :) Правда куда все заведет не знаю.
> Где ссылки на репу? Или это так, сообщить, что «я вот такое сделал и ни с кем не поделюсь»?
Могу предложить развернуть все это на виртуалке и дать доступ «на попробовать».
Речь про это, если нет, то можно узнать, какой велосипед я изобрел?
Единый центр управления подразумевает повышенную ответственность и безопасность.
Я, обычно, сначала тестирую на тестовом железе, потом по группам выполняю.
Несмотря на схожие задачи и похожее железо, версии софта и опции могут отличаться.
Данная автоматизация хорошо работает в больших компаниях с однотипными серверами-задачами — типа VK или badoo.
PowerGUI смотрели? У меня нечто похожее на нем, плюсы PowerGUI: быстро, просто, похоже на mmc.
Да, я на нем скрипты пишу\отлаживаю, но использую только Editor.
Мне не понравился в базе capistrano, который очень сильно заточен под rails и я взял его модуль sshkit и сделал более generic библиотеку. Будет время — выложу на github. Идея проста: выполнять rake-таски на всех серверах как на одном (похож на python-овский fabric). Но, разумеется, ему нужен ssh.

Если у вас windows, то нужен хотя бы cygwin.
Но это всё слишком серьёзный подход. Возможно, и должен, вас заинтересует rundeck.
Эти вещи хорошо решают императивные задачи: что запустить, что сделать.

Configuration Management Systems (Chef, Puppet, Ansible) не всегда со старта могут быть полезны. Поверьте, я много работал, с тем же Chef-ом. Они требуют со старта много знаний, и могут потратить больше времени, чем принести пользы.

Ну и холивара, ради: Моё первое правило при работе с автоматизацией под Windows:
Никогда не работать с windows!
Спасибо за ссылку, посмотрю.
Как я уже говорил, у меня изначально почти все сервера под виндой были и это не мой выбор.
Статья в стиле: «Посмотрите! Я изобрел новый велосипед!»
Webmin — это немного не то, что я «изобрел»
Ну тут смотря с какой стороны посмотреть. Webmin позволяет объединять сервера в кластеры и выполнять на них пачками команды.
Молодец, хороший проект получился. Еще один пример того что хорошие админы — ленивые админы :)
Конечно вы поступили оч.правельно когда начали создавать свое решение проблем путем обучения программирования, само-совершенствуя навыки и упрощая роботу! Молодец, так держать!)
К сожалению, пока нигде. Причины я описывал выше. На данный момент я меняю тему, если есть желание помочь — буду рад.
Sign up to leave a comment.

Articles