Ansible

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Ansible
Ansible logo.svg
Тип

Управление конфигурацией, системное администрирование

Автор

Michael DeHaan

Разработчик

Red Hat

Написана на

Python

Операционная система

кроссплатформенное программное обеспечение (Windows поддерживается начиная с версии 1.7)

Первый выпуск

20 февраля 2012

Последняя версия

2.3.2.0 (5 августа 2017)[1]

Состояние

активное

Лицензия

GNU GPL 3

Сайт

ansible.com

Ansible — система управления конфигурациями, написанная на Python, с использованием декларативного языка разметки для описания конфигураций. Используется для автоматизации настройки и развертывания программного обеспечения. Обычно используется для управления Linux-узлами, но Windows также поддерживается. Поддерживает работу с сетевыми устройствами, на которых установлен Python версии 2.4 и выше по SSH или PowerShell соединению.

Автор платформы — Michael DeHaan, ранее разработавший серверную систему развертывания ПО Cobbler (англ.) и соавтор фреймворка удаленного администрирования Func. Ansible входит в состав большинства дистрибутивов Linux. Есть пакеты для Solaris, FreeBSD и MacOS. Компания Ansible, Inc осуществляла коммерческую поддержку и сопровождение Ansible. 16 октября 2015 года Red Hat, Inc объявила о поглощении Ansible, Inc.

Слово «Ansible» означает вымышленную систему мгновенной гиперпространственной связи. Эта система была в мире Игра Эндера Орсона С. Карда, само слово придумано Урсулой Ле Гуин в романе Мир Роканнона (1966).

Архитектура[править | править вики-текст]

Наряду с Chef, Puppet и SaltStack считается одной из наиболее популярных систем управления конфигурациями для Linux. Главное отличие Ansible от аналогов — не нужна установка агента/клиента на целевые системы.

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

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

Ansible Tower[править | править вики-текст]

Ansible Tower — графический интерфейс для управления и мониторинга работы Ansible. Является платным продуктом.

Имеет следующую функциональность:

  • Визуальная панель состояния
  • Списки доступа, группы и роли пользователей
  • Централизованное логирование и аудит

Модули[править | править вики-текст]

Категории модулей и выполняемые ими задачи:

Примечания[править | править вики-текст]