Среда исполнения#
Среда исполнения Astra Automation (Execution Environment, EE) – это контейнер с образом на базе Astra Linux Special Edition, который рекомендуется использовать для развертывания и тестирования кода, запускаемого с помощью Ansible.
Инструментом для работы с образом может быть Podman (рекомендуется) или Docker.
Предупреждение
Для запуска контейнера с указанным образом необходима версия Docker не ниже 19.03.
Использование EE дает следующие преимущества:
Нет необходимости устанавливать дополнительное ПО: все необходимое уже есть в составе образа.
Не требуется ручная настройка окружения.
Контейнер с образом EE может быть запущен в любой ОС, поддерживаемой Podman.
Совет
Актуальный список версий образа EE доступен в реестре Astra Automation.
Загрузка образа#
Для загрузки образа среды исполнения используйте команду:
podman pull registry.astralinux.ru/aa/aa-base-ee:<version>
Здесь <version> – версия образа.
Если версия не указана, загружается образ с меткой latest
, которой соответствует новейшая стабильная версия образа.
Совет
С помощью команды tag
образу можно задать дополнительное название, например:
podman tag registry.astralinux.ru/aa/aa-base-ee aa-base-ee
Теперь к образу registry.astralinux.ru/aa/aa-base-ee:latest
можно обращаться через aa-base-ee
.
Для получения состава образа используйте команду:
ansible-navigator images <tag>
Здесь <tag> – название образа.
Например, для получения состава образа aa-base-ee:0.6.2
выполните следующие действия:
Загрузите образ среды исполнения:
podman pull registry.astralinux.ru/aa/aa-base-ee:0.6.2
Получите состав образа:
ansible-navigator images registry.astralinux.ru/aa/aa-base-ee:0.6.2
Примечание
С подробной информацией о составе рекомендуемых образов можно ознакомиться в документации.
Использование#
Для выполнения определенной команды внутри контейнера используйте следующий синтаксис:
ansible-navigator exec \
--eei registry.astralinux.ru/aa/aa-base-ee:<version> \
-- <container_command> [options]
Здесь:
<ansible_command> – команда Ansible.
--eei
– название образа среды исполнения.<container_command> – команда, которая должна быть выполнена в контейнере.
Примеры#
Следующие примеры демонстрируют использование EE для выполнения различных команд.
Проверка доступности узлов#
Для проверки доступности всех узлов инвентаря выполните в каталоге проекта команду:
ansible-navigator exec -- ansible all -m ping
Убедитесь, что по каждому узлу получен положительный ответ типа pong
, например:
Установка зависимостей Ansible#
Для установки необходимых ресурсов, согласно зависимостям, определенным в файле requirements.yml
, используйте команду:
ansible-navigator exec \
--eei registry.astralinux.ru/aa/aa-base-ee \
-- ansible-galaxy install -r requirements.yml
Здесь:
registry.astralinux.ru/aa/aa-base-ee
– название образа среды исполнения;ansible-galaxy
– утилита Ansible, используемая для управления зависимостями;requirements.yml
– название файла с перечнем зависимостей Ansible.
Запуск playbook#
Для запуска playbook используйте команду:
ansible-navigator run playbook.yml \
-i inventory.yml \
--eei registry.astralinux.ru/aa/aa-base-ee \
-m stdout
Здесь:
registry.astralinux.ru/aa/aa-base-ee
– название образа среды исполнения;inventory.yml
– файл инвентаря;playbook.yml
– файл playbook.