Основні концепції
Ці поняття є спільними для всіх застосувань Ansible. Ви повинні зрозуміти їх, перш ніж використовувати Ansible або читати документацію.
Керуючий вузол (Control Node)
Комп'ютер, з якого ви запускаєте інструменти Ansible CLI (ansible-playbook, ansible, ansible-vault та інші). Ви можете використовувати будь-який комп'ютер, який відповідає вимогам програмного забезпечення, як вузол керування - ноутбуки, комп'ютери зі спільним доступом і сервери можуть запускати Ansible. Ви також можете запускати Ansible у контейнерах, відомих як середовища виконання.
Можливі декілька вузлів керування, але Ansible сам не координує роботу між ними, див. AAP для ознайомлення з такими можливостями.
Керовані вузли (Managed Nodes)
Також називаються "хостами". Це цільові пристрої (сервери, мережеві пристрої або будь-які комп'ютери), якими ви хочете керувати за допомогою Ansible.
Ansible зазвичай не встановлюється на керовані вузли, якщо тільки ви не використовуєте ansible-pull, але це рідкісний випадок і не рекомендується.
Інвентаризація (Inventory)
Список керованих вузлів, наданий одним або декількома "джерелами інвентаризації". Ваш інвентар може містити інформацію, характерну для кожного вузла, наприклад, IP-адресу. Він також використовується для призначення груп, які дають змогу вибирати вузли у відтворенні та призначати масові змінні.
Щоб дізнатися більше про інвентаризацію, див. розділ "Робота з інвентаризацією". Іноді вихідний файл інвентаризації також називають "хост-файлом".
Плейбуки (Playbooks)
Вони містять "п'єси" (які є основною одиницею виконання Ansible). Це і "концепція виконання", і спосіб опису файлів, з якими працює ansible-playbook.
П'єси написані мовою YAML, їх легко читати, писати, ділитися та розуміти. Щоб дізнатися більше про п'єси, дивіться Ansible playbooks.
П'єси (Plays)
Основний контекст для виконання Ansible, цей об'єкт п'єси зіставляє керовані вузли (хости) із завданнями. Плей містить змінні, ролі та впорядковані списки завдань і може запускатися багаторазово. В основному, він складається з неявного циклу, який перебирає відображені хости і завдання та визначає, як їх ітерувати.
Ролі (Roles)
Обмежене розповсюдження багаторазового контенту Ansible (завдань, обробників, змінних, плагінів, шаблонів і файлів) для використання всередині гри.
Щоб використовувати будь-який ресурс ролі, необхідно імпортувати саму роль у п'єсу.
Завдання (Tasks)
Визначення "дії", яка буде застосована до керованого хосту. Ви можете виконати одне завдання один раз за допомогою спеціальної команди за допомогою ansible або ansible-console (обидва створюють віртуальну п'єсу).
Обробники (Handlers)
Спеціальна форма завдання, яка виконується лише після отримання повідомлення від попереднього завдання, яке призвело до зміни статусу.
Модулі (Modules)
Код або двійкові файли, які Ansible копіює і виконує на кожному керованому вузлі (за потреби) для виконання дій, визначених у кожному завданні.
Кожен модуль має певне призначення, від адміністрування користувачів на певному типі бази даних до керування інтерфейсами VLAN на певному типі мережевого пристрою.
Ви можете викликати один модуль із завданням або викликати кілька різних модулів у плейбуці. Модулі Ansible згруповано у колекції. Щоб дізнатися, скільки колекцій містить Ansible, див. Collection Index.
Плагіни (Plugins)
Фрагменти коду, які розширюють основні можливості Ansible. Плагіни можуть контролювати спосіб підключення до керованого вузла (плагіни підключення), маніпулювати даними (плагіни фільтрів) і навіть керувати тим, що відображається в консолі (плагіни зворотного виклику).
Докладні відомості див. у розділі "Робота з плагінами".
Колекції (Collections)
Формат, у якому поширюється вміст Ansible, що може містити плейбуки, ролі, модулі та плагіни. Ви можете встановлювати та використовувати колекції через Ansible Galaxy.
Щоб дізнатися більше про колекції, див. статтю "Використання колекцій Ansible". Ресурси колекції можна використовувати незалежно та дискретно один від одного