Ansible

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

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

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

Архітектура

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

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

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

Посилання

Примітки

  1. Releases - ansible/ansible. Архів оригіналу за 3 листопада 2020. Процитовано 29 січня 2021 — через GitHub.
  2. Mastering Ansible Playbooks: Examples and Step by Step Guide | env0. www.env0.com (амер.). Процитовано 21 січня 2025.

 

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia