Interested Article - Ansible
- 2020-02-25
- 1
Ansible — система управления конфигурациями , написанная на языке программирования Python , с использованием декларативного языка разметки для описания конфигураций. Применяется для автоматизации настройки и развёртывания программного обеспечения. Обычно используется для управления Linux -узлами, но Windows также поддерживается. Поддерживает работу с сетевыми устройствами, на которых установлен Python версии 2.4 и выше по SSH- или -соединению.
Автор платформы — Михаэль Дехан ( Michael DeHaan ), ранее разработавший серверную систему развёртывания программного обеспечения и соавтор фреймворка удалённого администрирования Func.
Входит в состав большинства дистрибутивов Linux . Есть пакеты для Solaris , FreeBSD и macOS . Развитием и коммерциализацией платформы занималась компания Ansible, 16 октября 2015 года она была поглощена корпорацией Red Hat .
Наименование взято от вымышленной системы мгновенной гиперпространственной связи из романа Урсулы Ле Гуин « Мир Роканнона » (1966).
Архитектура
Наряду с Chef , Puppet и SaltStack считается одной из наиболее популярных систем управления конфигурациями для Linux . Главное отличие Ansible от аналогов — не нужна установка агента или клиента на целевые системы.
Пользователь Ansible создаёт определённые сценарии («плейбуки», англ. playbooks ) в формате YAML с описанием требуемых состояний управляемой системы. Сценарий — это описание состояния ресурсов системы, в котором она должна находиться в конкретный момент времени, включая установленные пакеты, запущенные службы, созданные файлы и многое другое. Ansible проверяет, что каждый из ресурсов системы находится в ожидаемом состоянии и пытается исправить состояние ресурса, если оно не соответствует ожидаемому.
Для выполнения задач используется система модулей. Каждая задача представляет собой имя задачи, используемый модуль и список параметров, характеризующих задачу. Система поддерживает переменные, фильтры обработки переменных (поддержка осуществляется библиотекой Jinja2 ), условное выполнение задач, параллелизацию, шаблоны файлов. Адреса и настройки целевых систем содержатся в файлах «инвентаря» (inventory). Поддерживается группирование. Для реализации набора сходных задач существует система ролей.
Ansible Tower
Ansible Tower — графический интерфейс для управления и мониторинга работы Ansible. Является платным продуктом, однако в 2017 году, после перехода активов в RedHat , исходные коды Tower были опубликованы под свободной лицензией Apache . Новый проект получил название AWX Project, который ныне является кодовой основой для коммерческого продукта Tower .
В продукте организована визуальная панель состояния, ведутся списки доступа, группы и роли пользователей, обеспечивается централизованное журналирование и аудит.
Модули
Категории модулей и выполняемые ими задачи:
- Cloud: поддержка Amazon EC2 , S3 , Azure , , , Rackspace , а также средств контейнеризации ( Docker , LXC ) и виртуализации ( OpenStack , VMware );
- Clustering: поддержка , ZooKeeper , Kubernetes ;
- Command: выполняют консольные команды и сценарии командной строки;
- Database: поддержка СУБД MySQL , PostgreSQL , , MongoDB , Redis , Riak ;
- File: работа с файлами — копирование, синхронизация, модификация, проверка, архивирование;
- Inventory: работа с именами хостов или их IP -адресами;
- Messaging: поддержка RabbitMQ ;
- Monitoring: поддержка систем мониторинга , Nagios , Zabbix и ряда других;
- Network: работа с сетевым оборудованием и ПО , Cisco IOS/NXOS , Juniper JunOS , , Cumulus Linux , Mikrotik RouterOS ;
- Notification: отсылаются сообщения в , , Jabber , , Slack , через e-mail и SMS;
- Packaging: работа с менеджерами пакетов apt , FreeBSD Ports , Gentoo , , pacman , , Red Hat software channels , yum , , zypper ;
- Source Control: работа с системами контроля версий git , mercurial , subversion ;
- System: работа с компонентами Linux/Unix систем — cron , iptables , LVM , SELinux , sshd , ZFS ;
- Utilities: реализуют внутреннюю логику сценариев;
- Web Infrastructure: работа с Apache , Django , JBoss , Jira ;
- Windows: работа с компонентами Windows, в том числе IIS , Windows Firewall , реестром .
Примечания
- — 2023.
- — 2006.
- ↑
- (англ.)
- — 2012.
- . Дата обращения: 13 апреля 2018. 20 февраля 2018 года.
- . docs.ansible.com . Дата обращения: 24 июня 2021. 24 июня 2021 года.
Литература
- Мозер Р., Хоштейн Л. Запускаем Ansible = Ansible: Up and Running. — , 2018. — 382 с. — ISBN 978-5-97060-513-4 .
- 2020-02-25
- 1