Ansible

Ansibleпрограмне забезпечення, що надає засоби для управління конфігурацією, оркестровки, централізованої установки застосунків і паралельного виконання типових завдань на групі систем. Сирцевий код Ansible написаний мовою Python і розповсюджується під ліцензією GPLv3.

Ansible
Тип управління конфігурацією, інфраструктура як код
Автор(и) Michael DeHaan
Розробники Red Hat
Перший випуск 20 лютого 2012 (2012-02-20)
Стабільний випуск 2.10.5 (19 січня 2021 (2021-01-19)[1])
Версії 5.0.1 (2 грудня 2021)[2]
Репозиторій github.com/ansible/ansible.git
Операційна система GNU/Linux, Unix-подібні, Windows
Мова програмування Python
Стан розробки активний
Ліцензія GNU General Public License
Онлайн-документація docs.ansible.com/ansible/latest/
Вебсайт www.ansible.com

З особливостей Ansible можна відзначити просту і легко читану мову управління конфігурацією, підтримку розпаралелювання робіт, відсутність необхідності установки на віддалені системи спеціальних програм-агентів (всі операції ініціюються централізовано по SSH, або за допомогою інших плаґінів з'єднання, як-то winrm), можливість роботи без прав root. Система Ansible не так ускладнена, як CFEngine, puppet і Chef (програма), але при цьому надає досить широкі можливості та високу гнучкість управління.

Архітектура

Разом з Chef, Puppet і SaltStack вважають однією з найпопулярніших систем управління конфігураціями для Linux. Головна відмінність Ansible від аналогів — не потрібно попередньо встановлювати клієнт на цільових системах.

Користувач Ansible створює «плейбуки» у форматі YAML з описом необхідних штатних керованих систем. «Плейбук» — це опис стану ресурсної системи, в якому вона має перебувати у конкретний момент часу, включаючи встановлені системні пакунки, запущені служби, створені файли та багато іншого. Ansible перевіряє, що кожен із ресурсів системи знаходиться в очікуваному стані і запитує та виправляє стан ресурсу, якщо він не відповідає очікуваному.

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

Посилання

Примітки

  1. Releases - ansible/ansible. Процитовано 29 січня 2021 через GitHub.
  2. https://pypi.org/project/ansible/5.0.1/#history — 2021.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.