Ansible AWX – это бесплатное веб-приложение с открытым исходным кодом, спонсируемое Red Hat, которое позволяет управлять плейбуками и реестрами Ansible. Оно предоставляет веб-интерфейс, который делает Ansible более удобным для использования в ИТ-среде. Он также предоставляет REST API, который помогает вам контролировать доступ, графически управлять или синхронизировать инвентаризацию с широким спектром облачных источников.
Это руководство покажет вам, как установить программное обеспечение Ansible AWX на Debian 11.
Предварительные условия
- Сервер под управлением Debian 11.
- На сервере настроен пароль root.
Добавить репозиторий Ansible
Пакет Ansible по умолчанию не включён в репозиторий Debian 11. Поэтому вам нужно добавить репозиторий Ansible на ваш сервер.
Сначала установите все необходимые зависимости с помощью следующей команды:
apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y
Когда все зависимости установлены, отредактируйте файл sources.list и добавьте репозиторий Ansible:
nano /etc/apt/sources.list
Добавьте следующую строку:
deb http://ppa.launchpad.net/ansible/ansible/ubuntu focal main
Сохраните и закройте файл, затем добавьте ключ GPG следующей командой:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
Вы получите следующий результат:
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). Executing: /tmp/apt-key-gpghome.47eo2M3Kib/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 gpg: key 93C4A3FD7BB9C367: public key "Launchpad PPA for Ansible, Inc." imported gpg: Total number processed: 1 gpg: imported: 1
Следующим шагом обновите кэш репозитория следующей командой:
apt-get update -y
Установка Ansible на Debian 11
Далее выполните следующую команду для установки Ansible с помощью следующей команды:
apt-get install ansible -y
После установки Ansible проверьте версию Ansible с помощью следующей команды:
ansible --version
Вы получите следующий результат:
ansible [core 2.11.6] config file = /etc/ansible/ansible.cfg configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3/dist-packages/ansible ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections executable location = /usr/bin/ansible python version = 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110] jinja version = 2.11.3 libyaml = TrueКак только вы закончите, вы можете перейти к следующему шагу.
Установка Docker CE
По умолчанию последняя версия Docker CE не включена в стандартный репозиторий Debian 11. Поэтому вам нужно будет добавить её в APT.
Сначала скачайте и добавьте ключ Docker GPG следующей командой:
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Следующей командой добавьте репозиторий Docker CE в APT:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list
Следующей командой обновите репозиторий и установите Docker CE:
apt-get update -yapt-get install docker-ce -y
После завершения установки проверьте статус Docker с помощью следующей команды:
systemctl status docker
Вы получите следующий результат:
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-11-01 04:59:11 UTC; 26min ago TriggeredBy: ? docker.socket Docs: https://docs.docker.com Main PID: 5066 (dockerd) Tasks: 32 Memory: 1.0G CPU: 1min 57.723s CGroup: /system.slice/docker.service ?? 5066 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ??21970 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.18.0.2 -container-port 8052 ??21994 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 80 -container-ip 172.18.0.2 -container-port 8052 Nov 01 04:59:11 debian11 dockerd[5066]: time="2021-11-01T04:59:11.756163493Z" level=info msg="Docker daemon" commit=e2f740d graphdriver(s)=ove> Nov 01 04:59:11 debian11 dockerd[5066]: time="2021-11-01T04:59:11.756303194Z" level=info msg="Daemon has completed initialization" Nov 01 04:59:11 debian11 systemd[1]: Started Docker Application Container Engine. Nov 01 04:59:11 debian11 dockerd[5066]: time="2021-11-01T04:59:11.796631663Z" level=info msg="API listen on /run/docker.sock"
Для проверки версии Docker выполните следующую команду:
docker -v
Вы должны увидеть следующий результат:
Docker version 20.10.10, build b485636
После завершения установки вы можете перейти к следующему шагу.
Установка Docker Compose и других зависимостей
Сначала загрузите бинарный файл Docker Compose из репозитория Git с помощью следующей команды:
wget https://github.com/docker/compose/releases/download/1.29.0/docker-compose-Linux-x86_64
Следующим шагом переместите загруженный бинарный файл в каталог /usr/bin/:
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
Далее установите разрешение на выполнение для бинарного файла docker-compose:
chmod +x /usr/bin/docker-compose
Далее проверьте версию Docker Compose с помощью следующей команды:
docker-compose version
Вы получите следующий результат:
docker-compose version 1.29.0, build 07737305 docker-py version: 5.0.0 CPython version: 3.7.10 OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
Далее установите Node.js и NPM с помощью следующей команды:
apt-get install nodejs npm -ynpm install npm --global
Следующая установка PIP и других зависимостей с помощью следующей команды:
apt-get install python3-pip git pwgen -y
Следующая установка модуля Python для Docker Compose с помощью следующей команды:
pip3 install docker-compose==1.29.0
После этого можно переходить к следующему шагу.
Установка Ansible AWX
Сначала загрузите Ansible AWX из репозитория Git Hub с помощью следующей команды:
wget https://github.com/ansible/awx/archive/17.1.0.zip
После завершения загрузки распакуйте загруженный файл с помощью следующей команды:
unzip 17.1.0.zip
Следующая команда:
cd awx-17.1.0/installer/pwgen -N 1 -s 30
Вы получите следующий результат:
dGF8eiFiTkzpaqpWyckxSLe57sZNfJ
Следующая команда:
nano inventory
Измените следующие строки:
admin_user=admin admin_password=securepassword secret_key=dGF8eiFiTkzpaqpWyckxSLe57sZNfJСохраните и закройте файл, затем запустите плейбук Ansible для установки Ansible AWX:
ansible-playbook -i inventory install.yml
После установки Ansible AWX вы получите следующий результат:
TASK [local_docker : Create Redis socket directory] ******************************************************************************************* changed: [localhost] TASK [local_docker : Create Docker Compose Configuration] ************************************************************************************* changed: [localhost] => (item={'file': 'environment.sh', 'mode': '0600'}) changed: [localhost] => (item={'file': 'credentials.py', 'mode': '0600'}) changed: [localhost] => (item={'file': 'docker-compose.yml', 'mode': '0600'}) changed: [localhost] => (item={'file': 'nginx.conf', 'mode': '0600'}) changed: [localhost] => (item={'file': 'redis.conf', 'mode': '0664'}) TASK [local_docker : Render SECRET_KEY file] ************************************************************************************************** changed: [localhost] TASK [local_docker : Remove AWX containers before migrating postgres so that the old postgres container does not get used] ******************** ok: [localhost] TASK [local_docker : Run migrations in task container] **************************************************************************************** changed: [localhost] TASK [local_docker : Start the containers] **************************************************************************************************** changed: [localhost] TASK [local_docker : Update CA trust in awx_web container] ************************************************************************************ changed: [localhost] TASK [local_docker : Update CA trust in awx_task container] *********************************************************************************** changed: [localhost] TASK [local_docker : Wait for launch script to create user] *********************************************************************************** ok: [localhost -> localhost] TASK [local_docker : Create Preload data] ***************************************************************************************************** changed: [localhost] PLAY RECAP ************************************************************************************************************************************ localhost : ok=21 changed=12 unreachable=0 failed=0 skipped=73 rescued=0 ignored=1
Приведенный выше плейбук загрузит несколько образов Docker и создаст контейнер Ansible AWX.
Чтобы проверить все образы Docker, запустите:
docker images
Вы должны увидеть следующий результат:
REPOSITORY TAG IMAGE ID CREATED SIZE postgres 12 108ccc7c5fa3 5 days ago 371MB redis latest 7faaec683238 2 weeks ago 113MB centos 8 5d0da3dc9764 6 weeks ago 231MB ansible/awx 17.1.0 599918776cf2 7 months ago 1.41GB
Чтобы проверить все запущенные контейнеры, запустите:
docker ps
Вы должны увидеть следующий результат:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b6cd8d874b09 ansible/awx:17.1.0 "/usr/bin/tini -- /u…" 2 minutes ago Up 2 minutes 8052/tcp awx_task 65dd0c36334a ansible/awx:17.1.0 "/usr/bin/tini -- /b…" 5 minutes ago Up 2 minutes 0.0.0.0:80->8052/tcp, :::80->8052/tcp awx_web 4119ca4a1d24 postgres:12 "docker-entrypoint.s…" 5 minutes ago Up 2 minutes 5432/tcp awx_postgres 212b73bfe362 redis "docker-entrypoint.s…" 5 minutes ago Up 2 minutes 6379/tcp awx_redis
Доступ к Ansible AWX
Откройте веб-браузер и зайдите в веб-интерфейс Ansible AWX, используя URL http://your-server-ip. Вы должны увидеть страницу входа в Ansible AWX:
Укажите ваше имя пользователя admin, пароль и нажмите на кнопку Login. Вы должны увидеть приборную панель Ansible AWX на следующем экране:
Поздравляем! Вы успешно установили Ansible AWX на Debian 11.
Комментарии (0)