Как установить Ansible AWX 17.1.0 на Ubuntu 20.04

AWX это проект сообщества с открытым исходным кодом, спонсируемый компанией Red Hat. Он служит средой разработки для Ansible. Так же AWX имеет частые релизы и новые разработки.

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

В этой инструкции мы покажем процесс установки Ansible AWX на Ubuntu 20.04.

Требования для установки Ansible AWX 17.1.0 на Ubuntu 20.04

  • root-доступ или пользователь с привилегиями sudo для SSH-соединения.
  • Ubuntu 20.04 или 18.04
  • Минимум 4 ГБ оперативной памяти
  • Минимум 2 vcpu (vcpu это это виртуальный процессор, содержащий одно ядро и занимающий один сокет.)
  • Минимум 20 ГБ свободного места на диске SSD/HDD

Для успешного запуска и запуска Ansible AWX также необходимо будет установить:

  • Ansible
  • Docker and Docker compose
  • Node and NPM

1. Установка Ansible на Ubuntu 20.04

Первое что потребуется это обновить систему

$ sudo apt update

Чтоб выполнить установку Ansible, выполните следующую команду:

$ sudo apt install ansible -y

Для проверки версии установленного Ansible выполните команду:

$ ansible version

Ответ:

ansible 2.9.6 config file = /etc/ansible/ansible.cfg configured module search path = ['/home/linoxide/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3/dist-packages/ansible executable location = /usr/bin/ansible python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]

Основной файл конфигурации хранится в файле /etc/ansible/hosts.

2. Установка Docker и Docker Compose

Для успешной установки и настройки Docker посмотрите статью  Как установить Docker Compose на Ubuntu 20.04

После установки Docker проверьте его версию:

$ docker version

Ответ в терминале:

Client: Docker Engine - Community Version: 20.10.6 API version: 1.41 Go version: go1.13.15 Git commit: 370c289 Built: Fri Apr 9 22:47:17 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.6 API version: 1.41 (minimum version 1.12) Go version: go1.13.15 Git commit: 8728dd2 Built: Fri Apr 9 22:45:28 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.4 GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e runc: Version: 1.0.0-rc93 GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec docker-init: Version: 0.19.0 GitCommit: de40ad0

После установки Docker Compose проверьте версию:

$ docker-compose version

Ответ:

docker-compose version 1.29.2, build 5becea4c docker-py version: 5.0.0 CPython version: 3.7.10 OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

3. Установите Node.js и NPM

Далее, требуется установить Node.js

$ sudo apt install -y nodejs npm

а также Установить NPM

$ sudo npm install npm global

4. Установка Ansible AWX в Ubuntu 20.04

После того, как мы сделали подготовку к установке Ansible AWX в Ubuntu 20.04, пришло время установить Ansible.

Установите модуль docker-py python со следующей командой.

$ sudo apt install python3-pip git pwgen vim

далее введите команду

$ sudo pip3 install requests==2.22.0

Кроме того, нам понадобится модуль docker-compose для python, который соответствует вашей установленной версии Docker Compose.

$ docker-compose version

Ответ:

docker-compose version 1.29.2, build 5becea4c docker-py version: 5.0.0 CPython version: 3.7.10 OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

Проверьте версию docker-compose (моя версия 1.29.2). Далее установите модули с помощью следующей команды.

$ sudo pip3 install docker-compose==1.29.2

После установки pi-модулей мы собираемся загрузить последний zip-файл AWX из GitHub со следующей командой.

$ wget https://github.com/ansible/awx/archive/17.1.0.zip

Распакуйте загруженный архив этой командой:

$ unzip 17.1.0.zip

И измените каталог на awx-17.1.0/installer/

$ cd awx-17.1.0/installer/

Сгенерируйте секретный ключ для AWX с помощью следующей команды:

$ pwgen -N 1 -s 30

Ответ:

6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG

Затем найдите файл инвентаризации и откройте его с помощью любимого редактора:

$ sudo nano inventory

Попробуйте сохранить следующие настройки:

ПРИМЕЧАНИЕ: замените секретный ключ тем, который мы только что сгенерировали:

dockerhub_base=ansible awx_task_hostname=awx awx_web_hostname=awxweb postgres_data_dir=/tmp/pgdocker host_port=80 host_port_ssl=443 docker_compose_dir=/tmp/awxcompose pg_username=awx pg_password=awxpass pg_database=awx pg_port=5432 admin_user=admin admin_password=password create_preload_data=True secret_key=6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG

После сопоставления этой конфигурации с вашей пришло время выполнить playbook. Сделать это можно следующей командой:

$ ansible-playbook -i inventory install.yml

install.yml – это имя файла playbook

параметр -i говорит ansible использовать инвентарный файл

Установочный ответ:

ansible-playbook install.yml

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

После установки ansible-playbook проверьте контейнеры docker, чтобы получить список запущенных контейнеров:

$ docker ps

Ответ:

список контейнеров docker

Как видите, скрипт ansible создает и запускает 4 docker-контейнера:

  • awx_task
  • awx_web
  • awx_redis
  • awx_postgres

Для нас важнее всего awx_web, который работает на порту 80.

Вы можете получить доступ к Ansible AWX Web-UI через hostip или hostname на порту 80.

Страница входа Ansible AWX

Войдите в систему с учетными данными, которые ранее были определены в файле инвентаризации.

панель Ansible AWX

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

Заключение

В этой инструкции мы показали, как установить Ansible AWX на Ubuntu 20.04 с помощью ansible-playbook с контейнерами Docker.

Оцените статью
Установка и настройка популярных программ на Windows, Linux и другие операционные системы