
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 des flux de travail, le partage des informations d'identification et les outils permettant la délégation.
Dans ce didacticiel, nous passons en revue l'installation processus d'Ansible AWX sur Ubuntu 20.04 .
Prérequis
- accès root ou utilisateur avec des privilèges sudo pour la connexion SSH.
- Ubuntu 20.04 ou 18.04
- Minimum 4 Go de RAM
- Minimum 2vcpus
- Minimum 20 Go espace de stockage gratuit
Pour être opérationnel avec succès, Ansible AWX devra é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ée, exécutez la commande :
$ ansible --version
Sortie :
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 fichier.
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
Sortie :
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
Sortie :
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.
Installez docker-py python module avec la commande suivante :
$ sudo apt install python3-pip git pwgen vim
Installer la 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
Sortie :
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 de docker-compose (my is 1.29.2) et installez les modules avec la commande suivante.
$ sudo pip3 install docker-compose==1.29.2
Après avoir installé les pi-modules, nous allons télécharger le dernier fichier zip AWX depuis 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/installer/
$ 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
Sortie :
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 la clé 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 votre, 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 indique à 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
Sortie :

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

Connectez-vous avec les informations d'identification précédemment définies dans l'inventaire fichier.

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.