Ansible Core

Ansible Core#

Ansible – это инструмент для автоматизации процессов управления инфраструктурой и конфигурацией. Он позволяет автоматизировать развертывание приложений, настройку серверов, управление сервисами и многим другим. Ansible использует простой синтаксис, в основном с использованием формата YAML, хотя применяются и другие форматы, например, INI и JSON. В большинстве сценариев управления серверами и другими компьютерами Ansible подключается к ним по протоколу SSH, загружает и выполняет модули Python для реализации заданных задач автоматизации. В таком сценарии необходимо создать ключи SSH, позволяющие управлять такими узлами. Установка агентов на управляемые узлы не требуется. В других случаях можно использовать расширения, которые позволяют Ansible управлять узлами с помощью других протоколов.

Ansible Core представляет собой ядро этого инструмента и является основой всей платформы. Это минимальная и обязательная часть Ansible, которая обеспечивает основные функции:

  • обработку инвентарных списков;

  • управление подключениями;

  • выполнение базовых модулей управления на удаленных узлах.

Ansible Core включает в себя следующие компоненты:

  • утилиты командной строки:

    • ansible – выполняет одиночные команды на управляемых узлах;

    • ansible-playbook – запускает сценарии автоматизации;

    • ansible-galaxy – управляет коллекциями и ролями;

    • ansible-inventory – работает с инвентарем;

    • ansible-config – управляет конфигурацией Ansible;

    • ansible-vault – используется для шифрования и защиты данных.

  • встроенную коллекцию ansible.builtin, в которую входят основные модули, например, file, service и user.

Базовая функциональность Ansible обеспечивается большим количеством встроенных модулей. При этом возможности Ansible можно расширять с помощью коллекций.

Во время работы Ansible использует настройки, переданные в аргументах командной строки, заданные в переменных окружения или указанные в файле настроек ansible.cfg. Поиск файла настроек ansible.cfg выполняется в следующем порядке:

  1. Каталог, указанный в значении переменной окружения ANSIBLE_CONFIG.

  2. Текущий каталог.

  3. Домашний каталог активного пользователя.

  4. Каталог /etc/ansible/.

Поиск прекращается как только файл ansible.cfg будет найден в любом из указанных расположений.