Ansible AWX · 5 min read · Jan 25, 2026

Руководство по Ansible AWX: Основное использование и настройка

AWX — это веб-приложение с открытым исходным кодом, которое предоставляет пользовательский интерфейс, REST API и движок задач для Ansible. Это открытая версия Ansible Tower. AWX позволяет управлять Ansible playbook, инвентарями и планировать задания для выполнения через веб-интерфейс.

В этом руководстве мы покажем вам основное использование Ansible AWX. Итак, вам нужен сервер, на котором уже установлен Ansible AWX. Мы рассмотрим некоторые основные настройки Ansible AWX, которые вы должны знать, такие как настройка учетных данных, инвентарей, настройка и запуск шаблонов заданий и т. д. Если у вас еще не установлен Ansible, пожалуйста, посмотрите это руководство: https://www.howtoforge.com/how-to-install-ansible-awx-with-nginx-reverse-proxy-on-ubuntu-1804/.

Предварительные требования

  • 2 или 3 сервера - 10.5.5.20 ansible-awx
  • 10.5.5.21 lemp
  • Базовые знания о Ansible
  • Привилегии root

Что мы будем делать:

  1. Настройка и конфигурация окружения
  2. Настройка учетных данных
  3. Настройка инвентарей
  4. Настройка проектов
  5. Создание шаблонов заданий
  6. Запуск заданий

Шаг 1 - Настройка и конфигурация окружения

В этом руководстве мы собираемся развернуть и запустить Ansible playbook для базовой установки LEMP через панель управления Ansible AWX.

У нас есть два сервера для самого AWX и целевой машины.

10.5.5.20   ansible-awx  
10.5.5.21   lemp

Теперь мы собираемся развернуть playbook от имени пользователя ‘hakase’ и с использованием аутентификации SSH на основе ключей. Убедитесь, что вы уже настроили пользователя и аутентификацию на основе ключей на целевой машине ‘lemp’.

Проверьте, используя следующую команду с сервера ‘ansible-awx‘.

su - hakase  
ssh [email protected]

Убедитесь, что вы вошли без пароля.

Теперь у пользователя ‘hakase’ должны быть права root без пароля для выполнения задач.

На целевой машине ‘lemp‘ выполните команду sudo, как показано ниже.

su - hakase  
sudo su

Убедитесь, что вы ввели права root без пароля.

Теперь вы должны установить пакеты python на всех целевых машинах, управляемых Ansible.

sudo apt install python -y

Установка Python

Шаг 2 - Настройка учетных данных

Прежде всего, нам нужно настроить учетные данные Ansible AWX. Они используются для аутентификации при запуске и выполнении заданий на управляемых серверах, синхронизации с источниками инвентаря и импорта проектов.

По умолчанию Ansible AWX поддерживает множество учетных данных, включая виртуальные машины через аутентификацию SSH, Amazon Web Services, Google Compute Engine, OpenStack, пароль хранилища, систему контроля версий и т. д.

Чтобы настроить учетные данные, нажмите меню ‘Учетные данные‘ слева и нажмите кнопку ‘+’ справа от него.

Настройка учетных данных

Теперь введите ‘ ИМЯ ‘ и ‘ ОПИСАНИЕ ‘ учетных данных, затем укажите ‘ ТИП УЧЕТНЫХ ДАННЫХ ‘ как ‘ Машина ‘.

Просто, учетные данные ‘Машина’ позволят вам использовать аутентификацию SSH для управления серверами. Они поддерживают как парольную, так и аутентификацию на основе ключей.

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

аутентификация на основе ключей

Затем нажмите кнопку ‘СОХРАНИТЬ‘.

В результате были созданы новые учетные данные Ansible AWX типа ‘Машина’.

Учетные данные Ansible AWX

Шаг 3 - Настройка инвентарей

Инвентаризации — это группы хост-серверов, управляемых Ansible AWX. Инвентаризации позволяют вам создать группу с несколькими хост-серверами в ней. И это упрощает управление различными серверами с различными окружениями.

Чтобы управлять и обеспечивать сервера, мы должны создать новую группу инвентаря, а затем добавить серверные хосты в эту группу инвентаря.

Чтобы добавить новый инвентарь, нажмите меню ‘Инвентаризации‘ слева, затем нажмите кнопку ‘+’ и выберите ‘Инвентарь’.

Настройка инвентарей AWX

Введите ‘ ИМЯ ‘ и ‘ ОПИСАНИЕ ‘ инвентаря, затем нажмите кнопку ‘СОХРАНИТЬ‘.

Имя и описание

Теперь нажмите на вкладку ‘ХОСТЫ‘ и нажмите кнопку ‘+’, чтобы добавить новые хосты.

хосты

Введите ‘ ИМЯ ХОСТА ‘, ‘ ОПИСАНИЕ ‘ и ‘ ПЕРЕМЕННЫЕ ‘ с дополнительной конфигурацией для IP-адреса целевой машины ‘ansible_host: 10.5.5.21’.

Имя хоста и переменные

Теперь нажмите кнопку ‘СОХРАНИТЬ‘.

Далее, нам нужно убедиться в конфигурации хостов, проверив хосты с помощью команды ping.

Вернитесь на вкладку ‘ХОСТЫ‘, отметьте имя вашего хост-сервера и нажмите кнопку ‘ЗАПУСТИТЬ КОМАНДЫ‘.

Теперь выберите ‘МОДУЛЬ‘, называемый ‘ping‘, нажмите кнопку поиска внутри ‘УЧЕТНЫЕ ДАННЫЕ МАШИНЫ‘ и ‘ ВЫБРАТЬ‘ свои, затем нажмите кнопку ‘ЗАПУСК‘.

Учетные данные машины

И вы будете перенаправлены на новую страницу, и ниже представлен результат.

Результат выполнения скрипта awx

Новый инвентарь был создан, и целевой сервер был добавлен в него.

Шаг 4 - Настройка проектов

Проекты представлены как Ansible Playbooks в AWX. Это коллекции Ansible Playbooks, которые мы можем управлять через локальный каталог проекта или используя систему SCM, такую как Git, Subversion, Mercurial и RedHat Insights.

Чтобы создать новые проекты, нажмите меню ‘Проекты‘ слева и нажмите кнопку ‘+’.

Проекты AWX

Введите ‘ ИМЯ ‘ вашего проекта и ‘ ОПИСАНИЕ ‘, затем выберите ‘ ТИП SCM ‘ как ‘ Git ‘ и вставьте репозиторий вашего playbook.

Имя, описание и тип scm

Теперь нажмите кнопку ‘СОХРАНИТЬ‘, и в результате был создан новый проект для playbook.

Проект был добавлен

Дополнительно:

Если вы хотите создать новый проект с типом SCM ‘ Ручной ‘, вы можете создать новый каталог playbooks, расположенный в каталоге ‘ /var/lib/awx/projects ‘.

Каталог ‘/var/lib/awx/projects’ является каталогом проекта по умолчанию для ваших Ansible playbooks, если вы используете версию AWX docker с включенным ‘ project_data_dir ‘.

Шаг 5 - Создание новых шаблонов заданий

Шаблон задания — это определение выполнения самих Ansible playbooks. Итак, чтобы создать новый шаблон задания или запустить шаблон задания, нам нужно добавить Ansible playbook из нашего ‘Проекта’, ‘Учетные данные’ для аутентификации и целевые машины, которые хранятся в ‘Инвентарях’.

Для этого руководства мы уже создали новый проект, учетные данные и инвентарь. Итак, просто нажмите меню ‘Шаблоны‘ слева, затем нажмите кнопку ‘+’ и выберите опцию ‘Шаблон задания‘.

Добавить шаблон задания

Теперь вам нужно ввести ‘ ИМЯ ‘ и ‘ ОПИСАНИЕ ‘ задания. Затем выберите ‘ ИНВЕНТАРЬ ‘, ‘ УЧЕТНЫЕ ДАННЫЕ ‘ и ‘ ПРОЕКТ ‘. А затем укажите ‘ PLAYBOOK ‘, который вы хотите запустить и развернуть.

Добавить детали проекта задания

И в результате был создан новый шаблон задания Ansible AWX.

Шаг 6 - Запуск шаблона задания

После создания нового шаблона задания мы запустим шаблон задания и развернем Playbooks ‘Проекты’ на целевых хостах в ‘Инвентаре’.

Нажмите меню ‘Шаблоны‘ слева, и вы получите список доступных шаблонов заданий.

После завершения задания вы получите зеленый знак внутри имени шаблона задания.

Результат выполнения шаблона

Нажмите на зеленый знак внутри имени шаблона задания, и вам будет показан фактический результат этого задания.

Результат задания

Задание было успешно завершено, и на целевой машине был установлен стек LEMP через Ansible AWX.

Шаг 7 - Тестирование целевой машины

Тестирование доменного имени целевой машины. Конфигурация доменного имени хранится в конфигурации ‘ roles/web/vars/main.yml ‘.

Тестирование целевого сервера

Проверка статусов служб Nginx и PHP-FPM с помощью команд systemctl.

systemctl status nginx  
systemctl status php7.2-fpm

Статус Nginx и php-fpm

Тестирование базы данных MySQL на целевой машине. Подробные конфигурации базы данных MySQL хранятся в конфигурационном файле ‘roles/db/vars/main.yml’.

Статус MySQL

В результате стек LEMP был установлен на целевой машине через Ansible AWX.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.