Метка «Ansible»

Доброго времени суток. На Хабре не раз упоминался ansible, но статей о тестировании его ролей при помощи molecule мной обнаружено не было, однако Я нахожу данный фреймворк крайне удобным и хотел бы поделиться этим с аудиторией Хабра.

Molecule — тестируем роли Ansible - 1

Но для начала немного о том, чем я пользовался прежде.
Читать полностью »

Добрый день.

Не так давно я начал разбираться с замечательным инструментом для любого DevOps — Ansible. Сегодня хочу представить на ваш взыскательный суд небольшую вводную статью по использованию этого, во многом прекрасного, инструмента. Итак, начнем.

Что такое Ansible

Ansible — это инструмент для автоматизации задач системного администратора и не только. Если своими словами — это та штука, которая позволяет автоматически настраивать сервера пачками.

Кто-то скажет, что он не нужен, т.к. есть Chef, Puppet, etc. Я с этими людьми абсолютно соглашусь. Если вы можете использовать эти инструменты — отлично. Я же пишу эту статью для тех, кто хочет немного понять как работает Ansible и как с его помощью можно многое автоматизировать.

Если вы до этого не сталкивались с Ansible вообще, то советую почитать статью компании Селектел. Отличная статья.

Максимум автоматизации

Давайте определимся, что нам нужно, чтоб запустить WordPress на VPS сервере с установленной Ubuntu:

  • Nginx
  • Mysql
  • PHP5
  • Memcached для использования W3Total Cache плагина
  • WordPress

Вот в таком порядке мы и будем писать роли для настройки сервера.
Читать полностью »

Решили мы как то упростить администрирование небольшой группы серверов на FreeBSD. Серверов этих самых, вроде бы и не много, но всё же часто бывает нужно выполнить ряд однотипных задач на всех разом.
Долго думали, выбирали, сравнивали, и всё же пришли к варианту установить систему Ansible. А для наглядности к ней прикрутить web-мордочку с названием AWX.
Но вот незадача, сервера у нас на FreeBSD, а в качестве “рабочего” Linux’а выбран Debian. Ansible AWX поддерживает в качестве официальных RHEL/Fedora и Ubuntu.
Как мы все помним, Ubuntu вышла из Debian, а значит должна помнить о предке. Будем разбираться как поставить AWX на Debian.
Исходные данные: свежеустановленный Debian 7.1 Wheezy с включенной вариантами конфигурации “SSH сервер” и “Системные утилиты”.
Читать полностью »

Система управления Ansible

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

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

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

Со всеми сложностями, о которых идет речь выше, мы хорошо знакомы на собственном опыте: у нас имеется 10 точек присутствия с NS-серверами, расположенные в разных точках планеты. На них необходимо регулярно вносить различные изменения: обновлять операционную систему, устанавливать и обновлять различное ПО, изменять конфигурцию и т.п. Мы решили все эти операции автоматизировать и внедрить систему удаленного управления конфигурациями. Изучив имеющиеся решения, мы остановили свой выбор на Ansible.

В этой статье мы бы хотели подробно рассказать о его возможностях этого инструмента управления конфигурациями и поделиться собственным опытом его использования.
Читать полностью »

Ansible — yet another система управления конфигурациями. Отличительная особенность — простота, при большой гибкости. И это не просто слова — дальше я покажу на примерах несколько простейших операций и познакомлю вас с некоторыми “бест практис”.

Итак, у нас есть группы хостов:

WebServersG1 webserver1-g1, webserver2-g1
WebServersG2 webserver1-g2, webserver2-g2
WebServersProxy webserver-proxy1, webserver-proxy2
DataBase db1, db2
DataBaseSlave dbs1, dbs2
SomeServers someserver1, someserver2

Мы хотим подготовить все хосты к адекватной работе — установить необходимый набор софта (htop, zsh, vim, iftop, sudo, mc, tmux, wget), скопировать свои ключи и конфиги и поставить и сконфигурировать софт специфичный для этого сервера.
Ansible подразумевает минимум два файла для начала работы — инвентарный файл, в который мы пишем список хостов и делим их по группам — inventory и файл задачplaybook.
Они нужны для того, чтобы когда мы все сделаем запустить все красиво:

ansible-playbook -i инвентарный_файл playbook.yml

Давайте создадим инвентарный файл по имени “infrastructure” на основе наших хостов:
Читать полностью »

Для тех кто используетненавидит и в целом измученн puppet'ом, ansible покажется глотком освежающего нарзана, Эдакий фремворк систем управления конфигураций.
Структура работы с системой такова: вносим хосты в список => пишем плейбук под группу хостов => начинаем использовать.

Описываем сеть.

[hardware]
server_1
server_2
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js