AWX est un projet communautaire open source sponsorisé par Red Hat. Il sert d’environnement de développement pour la tour Ansible. AWX aura des versions fréquentes et aura tous les nouveaux développements.
Ansible AWX fournit une interface utilisateur Web pour gérer les hôtes Ansible, les playbooks, les modules, la planification des tâches, l’automatisation du flux de travail, le partage des informations d’identification et les outils pour permettre la délégation.
Dans ce tutoriel, nous examinons les installation le processus de Ansible AWX au Ubuntu 20.04.
Conditions préalables
- accès root, ou utilisateur avec sudo privilèges pour la connexion SSH.
- Ubuntu 20.04 ou 18.04
- Le minimum 4 Go de RAM
- Le minimum 2vcpu
- Le minimum 20 Go espace de stockage gratuit
Pour que Ansible AWX soit opérationnel et réussi, vous devrez également avoir installé :
- Ansible
- Docker et Docker composent
- Nœud et NPM
1. Installez Ansible sur Ubuntu 20.04
Premier système de mise à jour
$ sudo apt update
Pour installer Ansible, tapez :
$ sudo apt install ansible -y
Pour vérifier la version d’Ansible installé, exécutez la commande :
$ ansible --version
Sortir:
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]
Le fichier de configuration principal est stocké dans /etc/ansible/hosts déposer.
2. Installer Docker et Docker Compose
Pour une installation et une configuration réussies de Docker, consultez Comment installer Docker sur Ubuntu 20.04
Après l’installation de Docker, vérifiez la version :
$ docker version
Sortir:
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
Pour l’installation de Docker Compose, consultez Comment installer Docker Compose sur Ubuntu 20.04.
Après l’installation de Docker Compose, vérifiez la version :
$ docker-compose version
Sortir:
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. Installer Node et NPM
Ensuite, installez Node.js
$ sudo apt install -y nodejs npm
et aussi Installer NPM
$ sudo npm install npm --global
4. Installez Ansible AWX sur Ubuntu 20.04
Une fois que nous avons parcouru les installations précédentes, il est temps d’installer Ansible AWX.
Installer docker-py python module avec la commande suivante :
$ sudo apt install python3-pip git pwgen vim
Installer demande qui permet d’envoyer des requêtes HTTP/1.1 :
$ sudo pip3 install requests==2.22.0
De plus, nous aurons besoin d’un module docker-compose pour python, qui correspond à votre version installée de Docker Compose.
$ docker-compose version
Sortir:
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
Vérifiez la version docker-compose (mon est 1.29.2) et installez les modules avec la commande suivante.
$ sudo pip3 install docker-compose==1.29.2
Après avoir installé les modules pi, nous allons télécharger le dernier fichier zip AWX à partir de GitHub avec la commande suivante.
$ wget https://github.com/ansible/awx/archive/17.1.0.zip
Décompressez le répertoire téléchargé :
$ unzip 17.1.0.zip
Et changez de répertoire en awx-17.1.0 / installateur /
$ cd awx-17.1.0/installer/
Générez une clé secrète ou générez un mot de passe aléatoire pour AWX avec la commande suivante :
$ pwgen -N 1 -s 30
Sortir:
6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG
Ensuite, trouvez un inventaire fichier et ouvrez-le avec l’éditeur favori :
$ sudo nano inventory
Essayez de conserver les paramètres suivants :
REMARQUE : remplacez clef secrète avec celui que nous venons de générer :
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
Après avoir fait correspondre cette configuration avec la vôtre, il est temps d’exécuter le playbook avec la commande suivante :
$ ansible-playbook -i inventory install.yml
install.yml – est le nom du fichier playbook
-je dit à ansible d’utiliser le fichier d’inventaire
Sortie de l’installation :
Vérifiez que tout se passe bien, sans tâches échouées.
Après l’installation d’ansible-playbook, vérifiez les conteneurs docker pour obtenir une liste des conteneurs en cours d’exécution :
$ docker ps
Sortir:

Comme vous pouvez le voir, un script ansible crée et démarre 4 docker-containers :
- awx_task
- awx_web
- awx_redis
- awx_postgres
Pour nous c’est le plus important awx_web qui s’exécute sur le port 80.
Vous pouvez accéder à l’interface utilisateur Web Ansible AWX via hôte ou nom d’hôte sur le port 80.

Connectez-vous avec les informations d’identification précédemment définies dans inventaire déposer.

Après la connexion, vous verrez le tableau de bord principal. À partir de là, vous pouvez commencer à gérer Ansible AWX et profiter de la vue d’ensemble du tableau de bord.
Conclusion
Dans ce didacticiel, nous avons appris à installer Ansible AWX sur Ubuntu 20.04 à l’aide d’ansible-playbook avec des conteneurs Docker.