Comment installer Ansible AWX sur Debian 10

Ansible est un outil d’automatisation open-source utilisé pour l’approvisionnement en logiciels, la gestion de la configuration et le déploiement d’applications. Il te permet d’installer, de configurer et de déployer automatiquement des applications sur plusieurs systèmes.

AWX est une application Web utilisée pour contrôler Ansible. Tu peux gérer les playbooks Ansible, les inventaires, les secrets et les tâches planifiées depuis une interface Web AWX.

Caractéristiques

  • Prend en charge plusieurs clouds comme AWS, Azure et GCP
  • Suivi de l’activité des utilisateurs
  • Augmente l’efficacité et la sécurité
  • Contrôle d’accès des utilisateurs basé sur les rôles & Authentification
  • Planification des tâches
  • Notifications intégrées

Dans ce billet, nous allons te montrer comment installer AWX sur un serveur Debian 10.

Conditions préalables

  • Un serveur fonctionnant sous Debian 10.
  • Un mot de passe root est configuré sur le serveur.

Pour commencer

Tout d’abord, mets à jour tous les paquets système à la dernière version en utilisant la commande suivante :

apt-get update -y

Une fois que tous les paquets sont mis à jour, installe les autres paquets nécessaires à l’aide de la commande suivante :

apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y

Après avoir installé tous les paquets, tu peux passer à l’étape suivante.

Installe Ansible

Ensuite, tu devras installer Ansible dans ton système. Par défaut, la dernière version d’Ansible n’est pas incluse dans le référentiel de Debian 10. Tu devras donc ajouter le dépôt d’Ansible à APT. Tu peux l’ajouter avec la commande suivante :

echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | tee /etc/apt/sources.list.d/ansible.list

Une fois le référentiel ajouté, ajoute la clé GPG avec la commande suivante :

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367

Ensuite, mets à jour le référentiel et installe la dernière version d’Ansible avec la commande suivante :

apt-get update -y
apt-get install ansible -y

Une fois qu’Ansible est installé, tu peux vérifier la version installée d’Ansible avec la commande suivante :

ansible --version

Tu devrais obtenir le résultat suivant :

ansible 2.9.19
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0]

À ce stade, Ansible est installé dans ton système. Tu peux maintenant passer à l’étape suivante.

Installe Docker et Docker Compose

Ensuite, tu devras installer Docker et Docker Compose sur ton système. Par défaut, la dernière version de Docker n’est pas disponible dans le référentiel par défaut de Debian 10. Tu devras donc ajouter le référentiel Docker CE à ton système. Tout d’abord, ajoute la clé et le référentiel Docker avec la commande suivante :

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Ensuite, mets à jour le référentiel et installe le Docker CE avec la commande suivante :

apt-get update -y
apt-get install docker-ce -y

Une fois que le Docker est installé, vérifie la version de Docker avec la commande suivante :

docker --version

Tu devrais voir la sortie suivante :

Docker version 20.10.5, build 55c4c88

Ensuite, tu devras installer la dernière version de Docker Compose sur ton système. Tu peux télécharger le binaire de Docker Compose avec la commande suivante :

curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -

Une fois le téléchargement terminé, définis la permission appropriée avec la commande suivante :

chmod +x docker-compose-Linux-x86_64

Ensuite, déplace le binaire Docker Compose dans le chemin du système avec la commande suivante :

mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

Ensuite, vérifie la version de Docker Compose avec la commande suivante :

docker-compose version

Tu devrais obtenir la sortie suivante :

docker-compose version 1.28.5, build c4eb3a1f
docker-py version: 4.4.4
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

À ce stade, Docker et Docker Compose sont installés dans ton système. Tu peux maintenant passer à l’étape suivante.

Installe Node.js et NPM

Ensuite, tu devras installer Node.js et NPM dans ton système. Tu peux installer Node.js et NPM avec la commande suivante :

apt-get install nodejs npm -y
npm install npm --global

Ensuite, installe les autres dépendances Python avec la commande suivante :

apt-get install python3-pip git pwgen -y

Ensuite, installe le module Docker Compose qui correspond à ta version de Docker Compose avec la commande suivante: :

pip3 install docker-compose==1.28.5

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Remarque: Assure-toi que la version 1.28.5 correspond à la version de Docker Compose installée dans ton système.

Installe AWX

Ensuite, tu devras installer AWX dans ton système. Tout d’abord, télécharge l’AWX depuis le dépôt Git Hub à l’aide de la commande suivante :

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

Une fois le téléchargement terminé, décompresse le fichier téléchargé avec la commande suivante :

unzip 17.1.0.zip

Ensuite, change le répertoire en installateur avec la commande suivante :

cd awx-17.1.0/installer/

Ensuite, génère la clé secrète en exécutant la commande suivante :

pwgen -N 1 -s 30

Tu devrais obtenir le résultat suivant :

3BgGA8MnM4gKTXV8r7vQhwjjNixO6o

Ensuite, modifie le fichier d’inventaire et définis ton nom d’utilisateur admin, ton mot de passe et ta clé secrète :

nano inventory

Change les lignes suivantes :

admin_user=admin
admin_password=securepassword
secret_key=3BgGA8MnM4gKTXV8r7vQhwjjNixO6o

Sauvegarde et ferme le fichier lorsque tu as terminé puis installe l’AWX en exécutant la commande suivante :

ansible-playbook -i inventory install.yml

Une fois que l’AWX a été installé avec succès, tu devrais obtenir la sortie suivante :

changed: [localhost]

TASK [local_docker : Create Docker Compose Configuration] *************************************************************************************
changed: [localhost] => (item={u'mode': u'0600', u'file': u'environment.sh'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'credentials.py'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'docker-compose.yml'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'nginx.conf'})
changed: [localhost] => (item={u'mode': u'0664', u'file': u'redis.conf'})

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]

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   

À ce stade, l’AWX est installé dans ton système. Tu peux maintenant accéder à l’interface Web de l’AWX.

Accéder à Ansible AWX

Maintenant, ouvre ton navigateur Web et accède à l’interface Web Ansible AWX en utilisant l’URL http://your-server-ip. Tu seras redirigé vers la page de connexion de l’AWX :

Connexion Ansible AWX

Indique ton nom d’utilisateur admin, ton mot de passe et clique sur le bouton Log In. Tu devrais voir le tableau de bord d’Ansible AWX à la page suivante :

Tableau de bord Ansible AWX

Conclusion

Félicitations ! Tu as réussi à installer Ansible AWX sur un serveur Debian 10. Tu peux maintenant facilement gérer le playbook, l’inventaire et les jobs Ansible à partir du tableau de bord AWX. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...