LINUX.ORG.RU

Вышел Ansible 1.7

 


0

1

Вышла новая версия системы управления конфигурациями Ansible — проекта с открытым исходным кодом, написанного на Python2 и предназначенного для облегчения управления группами серверов.

В новой версии добавлено 13 новых модулей (и исправлено множество ошибок в существующих модулях), улучшена поддержка юникода, повышена производительность при использовании больших инвентарей (inventory — это файлы, содержащие описания хостов и их групп с сопутствующими переменными и параметрами), исправлены проблемы в части безопасности, добавлена начальная поддержка Windows (пока на уровне отправки скрипта и выполнения его на хосте через pywinr и Remote Management, в 1.8 планируется полностью поддерживать Windows всеми существующими модулями).

От себя хочу добавить, что Ansible активно развивается, разработчики быстро реагируют на тикеты в багтрекере, проект бесплатный (в CLI, GUI — платно после 10 машин). Если сравнить с Puppet — работа через ssh (не нужны клиенты на хостах), из зависимостей — python2 и несколько библиотек для него, при этом на управляемых хостах нужен опять же только python (сейчас в большинстве ОС он идет «из коробки») и желательно json/simplejson, никаких клиентов. Сценарии пишутся на YAML, для переменных используется Jinja2, что очень хорошо сказывается на скорости «погружения» в Ansible.

>>> Новость на сайте проекта

★★★★★

Проверено: Pinkbyte ()

ChangeLog сестра, ChangeLog бы перевёл... Тем не менее, как мини-новость - покатит

Pinkbyte ★★★★★ ()

модуль для айпитэйблс написали?

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

Есть модуль для firewalld, но конкретно для iptables пока вроде нет, не сталкивался. В любом случае можно использовать shell.

alozovskoy ★★★★★ ()

как он в сравнении с salt? последний раз когда пробовал ансибль в нем было очень топорно сделано с бэкапами.

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

Changelog

Этот чтоли?

1.7 «Летние ночи» - Текущая разработка

Основные нововведения:
Поддержка ОС Windows (в стадии alpha) с помощью удалённого доступа через родной PowerShell.
Теперь заданиям (tasks) можно указать параметр run_once: true, который означает, что оно будет исполнено только один раз. В сочетании с delegate_to позволяет запускать желаемые действия (actions) только раз в отличии от исполнения на каждом хосте из инвентаря.

Новые инвентари:
SoftLayer
Windows Azure

Новые модули:
cloud: azure
cloud: rax_meta
cloud: rax_scaling_group
cloud: rax_scaling_policy
windows: version of setup module
windows: version of slurp module
windows: win_feature
windows: win_get_url
windows: win_msi
windows: win_ping
windows: win_user
windows: win_service
windows: win_group

Прочие заметные изненения:
Увеличена производительность при использовании очень обширных инвентарей.
Теперь файлы паролей хранилища (vault password) можно пометить как исполняемые, что позволит сценариям вытягивать эти пароли.

За искаверканные термины не пинайте, я - не в теме.

anonymous ()

Вышла новая версия 1.7 системы

Мая твая ниманималь хычины жариль ти писаль...

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

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

было очень топорно сделано с бэкапами

Что имеешь в виду?

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

Ни я писаль правки пасматри дарагой.

Вай, сафсэм карэктары фигню творят, да? Кешельме-бешельме, чичяс паправим, да?

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

Что имеешь в виду?

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

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

Пока так и есть, но это отключается. У puppet логика другая. Опять же ничего не мешает повесить на модуль, который должен бэкапить, хендлер и потом перемещать бэкапы куда тебе нужно (возвращается ключ backup_file в ответе в, например, copy).

alozovskoy ★★★★★ ()
Последнее исправление: alozovskoy (всего исправлений: 2)

Нельзя Ansible сравнивать с Puppet: он не может в полной мере заменить его или предоставить подобный функционал. Взять к примеру mcollective.

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

Это разные продукты с разной логикой, единственное общее - и тот и другой служит для управления удаленными хостами. Что делает mcollective? Судя по примером это тупо ansible-playbook.

alozovskoy ★★★★★ ()

В разной степени пробовал Fabric, Puppet, Chef, Salt и Ansible. Fabric хороший, но местами вынуждает изобретать велосипед. Puppet мощный, но до сих пор меня передергивает от одного воспоминания о нагромождении сущностей и чудовищном синтаксисе. Chef поприятнее, но для управления своими VPS ябнестал, слишком много возни, да и не очень легко изворачиваться с Ruby, неявными импортами, странно реализованными атрибутами и прочая. Вообще, впечатление как от Xmonad и Awesome в сравнении с Fluxbox и i3 — вроде, примерно одно и то же (ну флюкс не тайлинговый, но не о том речь), но конфиги на Haskell и Lua постоянно ломаются при обновлении и иногда требуют хитрых вывертов на ровном месте, а сугубо декларативные конфиги стабильны и просты. Поэтому Salt и Ansible — глоток свежего воздуха. Но Salt я все-таки не осилил, ибо, пока начинал, наткнулся на Ansible и не успел начать сравнение, как настроил на нем выкатку пары сайтов. Очень просто, ясно и удобно. Теперь это у меня config mgmt system по умолчанию. Хотя, думаю, для серьезного проекта скорее ковырял бы Salt.

amix ★★★ ()

Как-то пользовался, оставило приятное впечатление

Divius ★★ ()

Сложно представить какому убогому наркоману нужна эта поебота на питоне, когда есть нормальные решения — puppet, cheef, mcollective.

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

Если у вас Ubuntu, то можете попробовать использовать модуль для ufw, который добавили в прошлом релизе.

php-coder ★★★★★ ()

Оно ещё живо? Чем-то стало лучше CFEngine или всё такое же детсадовское поделие?

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

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

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

да да без клиентов на хостах, удали питон и попробуй и попробуй забэкапить mysql например.

st4l1k ★★ ()
Последнее исправление: st4l1k (всего исправлений: 1)

веб клиент на php есть какой нибуть? у мнея нет доступа на ssh

Сценарии пишутся на YAML

а питон то чем не угодил? пользуюсь в Fabric, там все четко и просто на питоне пишешь. а тут огороженные ямлы какието?

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

веб клиент на php есть какой нибуть?

Веб-клиент есть только их родной Tower на сколько мне известно, можно накостылять самому - запускать через php не сложно, а результаты можно самописными модулями (callbacks) выводить с html-разметкой.

а тут огороженные ямлы какието?

В нем тоже ничего сложного - там структура ключ: значение, плюс те же отступы что и в python для логики, элементы начинаются с дефисПробел вот и все.

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

Да легко, но ты можешь просто почитать описание модуля raw, который работает без python и все поймешь сам. Только python это не клиент Ansible, а то ты сейчас скажешь и ОС снести.

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

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

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

Это разные продукты с разной логикой

кэп

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

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

Тогда в чем отличие mcollective от Ansible? По дефолту Anisble также собирает параметры хостов - от хостнейма и версии ОС до сетевых интерфейсов, так что с этой точки зрения все прекрасно параметризуется и отображается пользователю, а также позволяет выполнять команды на хостах в зависимости от собранной информации.

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

Модули можно писать вообще на любом языка, YAML используется в части написания списка хостов и списка действий, которые на этих хостах нужно выполнить (inventory и playbook'и соответственно). А про кучу недостатков - python тоже не такой удобный язык, смотря с какой стороны посмотреть.

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

MCollective использует STOMP и facter, позволяет строить сложные условия, поддерживает персонализированные отчеты и плагины, интегрируется с web интерфейсом. Рекомендую обратиться к документации за более подробным описанием.

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

Я смотрел доки, каких-то киллерфич не увидел, впрочем как и примеров использования. Ansible тоже может использовать facter и ohai в модуле сбора информации по хостам. Интеграция с веб-интерфейсом скорее всего тоже есть, а благодаря возможность перехватывать «ответы» Ansible и обрабатывать их на python возможность строить отчеты и оформлять их как тебе вздумается также присутствует.

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