Структура управления#

Для управления инфраструктурой контроллер использует следующие компоненты:

  • playbooks;

  • инвентарь (inventory);

  • проекты (projects);

  • шаблоны (templates);

  • среды исполнения (execution environments);

  • полномочия (credentials).

Взаимосвязи между компонентами показаны на схеме:

../../_images/components-light.svg ../../_images/components-dark.svg

Проект#

Проект состоит из одного или нескольких Ansible playbook. Контроллер позволяет импортировать существующие наборы playbook из различных источников:

  • репозиторий Git;

  • репозиторий Subversion;

  • архивы форматов .zip и .tar.gz.

Также существующие наборы playbook можно вручную разместить в одном из каталогов локальной файловой системы контроллера, после чего указать путь к нужному каталогу в настройках проекта.

Подробности см. в разделе Проекты.

Playbook#

Для настройки управляемых узлов контроллер использует Ansible playbook.

Инвентарь#

Контроллер предоставляет следующие возможности для управления инвентарем Ansible:

  • заполнение списка управляемых узлов вручную или путем импорта из стороннего источника;

  • использование статического и динамического инвентаря.

Подробности см. в разделе Инвентарь.

Шаблон#

Шаблоны бывают двух типов:

  • шаблоны заданий;

  • шаблоны потоков заданий.

Шаблон задания связывает между собой набор управляемых узлов из инвентаря и один из playbook, доступных в проекте.

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

Подробности о шаблонах см. в разделе Шаблоны.

Среда исполнения#

Среда исполнения содержит все необходимое для запуска playbook – фиксированные версии ОС, приложений и библиотек, в том числе Ansible, Python и других. Использование среды исполнения позволяет сделать выполнение playbook предсказуемым и не зависящим от ОС, в которой развернут контроллер.

Организации, пользователи и команды#

В Astra Automation Controller используется управление доступом на основе ролей (RBAC), реализованное с помощью организаций, пользователей и команд.