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 управляющий узел подключается к управляемым узлам и выполняет по отношению к ним команды управления.
Управляющий узел#
Управляющим узлом (control node) Ansible из состава Astra Automation является рабочая станция под управлением Astra Linux, на которой установлены компоненты Ansible и которую используют для выполнения различных задач по автоматизации управляемых узлов.
Управляемые узлы#
Управляемым узлом (managed node) называется узел, к которому можно обращаться как к самостоятельной единице с целью автоматизации процессов на нем с помощью Ansible. Это могут быть любые типы компьютеров, сетевое оборудование, средства хранения, технологическое оборудование и тому подобное.
Факты#
Факты (facts) – это набор сведений об управляемом узле, например, архитектура и версия установленной ОС, версия BIOS, наличие в системе определенных устройств и тому подобное.
Настройки#
Во время работы Ansible использует настройки, переданные в аргументах командной строки, заданные в переменных окружения или указанные в файле настроек ansible.cfg
.
Поиск файла настроек ansible.cfg
выполняется в следующем порядке:
Каталог, указанный в значении переменной окружения
ANSIBLE_CONFIG
.Текущий каталог.
Домашний каталог активного пользователя.
Каталог
/etc/ansible/
.
Поиск прекращается как только файл ansible.cfg
будет найден в любом из указанных расположений.