Introduction
Ansible Tower est Ansible au niveau de l’entreprise. Il s’agit d’une solution Web permettant de gérer une organisation avec une interface utilisateur très simple qui fournit un tableau de bord avec des résumés de l’état de tous les hôtes, qui permet des déploiements rapides et surveille toutes les configurations. Tower permet de partager les informations d’identification SSH sans les exposer, de consigner tous les travaux, de gérer graphiquement les inventaires et de les synchroniser avec un large éventail de fournisseurs clouds.
AWX Project - AWX en abrégé - est un projet de communauté open source, sponsorisé par Red Hat, qui permet aux utilisateurs de mieux contrôler l’utilisation de leurs projets Ansible dans des environnements informatiques.
AWX est le projet en amont à partir duquel l’offre Red Hat Ansible Tower est finalement dérivée.
Prérequis
- OS : Centos 8 / Debian 10 - (Openshift, Kubernetes, Docker-Compose)
- RAM : 8 Go minimum
- CPU : 4 vCPU minimum
- HD : 40 Go minimum
- Dernière version Ansible
Installation
Prérequis packages
CentOS 8
Avant de commencer, vous devrez installer le dépôt EPEL sur votre système. Vous pouvez l'installer avec la commande suivante :
[root@awx01 ~]# yum install epel-release
Pour info, le gestionnaire de paquets “yum” a été remplacé par “dnf” dans CentOS 8 (cf. ci-dessous). Par conséquent, nous passerons par ce dernier pour installer nos paquets.
[root@awx01 ~]# ll `which yum` lrwxrwxrwx. 1 root root 5 19 déc. 10:43 /usr/bin/yum -> dnf-3 [root@awx01 ~]# ll `which dnf` lrwxrwxrwx. 1 root root 5 19 déc. 10:43 /usr/bin/dnf -> dnf-3
Ensuite, vous devrez installer quelques paquets supplémentaires nécessaires pour faire fonctionner l'AWX sur votre système. Vous pouvez les installer tous avec la commande suivante :
[root@awx01 ~]# yum install git gcc gcc-c++ ansible nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip -y
Enfin, lancez la commande suivante pour que la commande python utilise python 3 :
[root@awx01 ~]# alternatives --set python /usr/bin/python3
Debian 10
Vous devrez installer quelques paquets supplémentaires nécessaires pour faire fonctionner l'AWX sur votre système. Vous pouvez les installer tous avec la commande suivante :
[root@awx01 ~]# apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common git gcc gcc-c++ ansible gettext lvm2 bzip2 python3-pip pwgen python3-docker -y
On installe certaines dépendances via le gestionnaire de package 'pip'
[root@awx01 ~]# pip3 install requests==2.14.2 [root@awx01 ~]# pip3 install ansible
Installez Node.js et les paquets NPM en utilisant la commande apt.
[root@awx01 ~]# apt install nodejs [root@awx01 ~]# npm install npm --global
Mise à jour de la version Python par défaut.
[root@awx01 ~]# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 update-alternatives: utilisation de « /usr/bin/python2.7 » pour fournir « /usr/bin/python » (python) en mode automatique [root@awx01 ~]# update-alternatives --install /usr/bin/python python /usr/bin/python3 2 update-alternatives: utilisation de « /usr/bin/python3 » pour fournir « /usr/bin/python » (python) en mode automatique [root@awx01 ~]# python --version Python 3.6.9
Installation Docker
CentOS 8
Vous devrez installer Docker pour faire fonctionner l'AWX à l'intérieur du conteneur Docker. Par défaut, la dernière version de Docker n'est pas disponible dans le dépôt par défaut de CentOS 8.
Vous devrez donc ajouter le dépôt Docker dans votre système.
Vous pouvez ajouter le dépôt Docker avec la commande suivante :
[root@awx01 ~]# cd /etc/yum.repos.d/ [root@awx01 ~]# wget https://download.docker.com/linux/centos/docker-ce.repo
Une fois ajouté, installez la dernière version stable de Docker avec la commande suivante :
[root@awx01 ~]# yum install docker-ce --nobest
Ensuite, démarrez le service Docker et activez-le automatiquement au démarrage du système avec la commande suivante :
[root@awx01 ~]# systemctl start docker [root@awx01 ~]# systemctl enable docker
Debian 10
Vous devrez installer Docker pour faire fonctionner l'AWX à l'intérieur du conteneur Docker.
Vous devrez donc ajouter le dépôt Docker dans votre système.
Vous pouvez ajouter le dépôt Docker avec la commande suivante :
[root@awx01 ~]# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
On ajoute le repository sur notre système.
[root@awx01 ~]# add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable"
On installe Docker.
[root@awx01 ~]# apt update [root@awx01 ~]# apt -y install docker-ce docker-ce-cli
Ensuite, démarrez le service Docker et activez-le automatiquement au démarrage du système avec la commande suivante :
[root@awx01 ~]# systemctl start docker [root@awx01 ~]# systemctl enable docker
Installation Docker Compose
Ensuite, installez le Docker composer en utilisant la commande suivante :
[root@awx01 ~]# pip3 install docker-compose
Installation Ansible AWX
Nous allons cloner le repository github sur le serveur. Puis nous basculerons sur la dernière version stable du produit à savoir la release 9.3.0.
[root@awx01 ~]# git clone https://github.com/ansible/awx.git [root@awx01 ~]# cd awx/ [root@awx01 awx]# git checkout -b 9.3.0 Basculement sur la nouvelle branche '9.3.0'
Ensuite, générez une clé secrète pour le cryptage du fichier d'inventaire avec la commande suivante :
[root@awx01 awx]# openssl rand -base64 30 JRLe1z/Ppn4/aH93UKG8sxWNoXSbl1zAs111hBPj
Ensuite, changez le répertoire courant et modifiez le fichier d'inventaire :
[root@awx01 awx]# cd installer/ [root@awx01 installer]# nano inventory ... postgres_data_dir="/var/lib/pgdocker" secret_key=JRLe1z/Ppn4/aH93UKG8sxWNoXSbl1zAs111hBPj awx_official=true awx_alternate_dns_servers="8.8.8.8,8.8.4.4" project_data_dir=/var/lib/awx/projects
Ensuite, créez un répertoire pour Postgres :
[root@awx01 ~]# mkdir /var/lib/pgdocker
Enfin, exécutez la commande suivante pour installer l'AWX :
[root@awx01 ~]# ansible-playbook -i inventory install.yml
Rendez-vous à l'adresse du server **http://votre-adresse-ip**, AWX se charge.
Accéder à l'interface Web de l'AWX
Maintenant, ouvrez votre navigateur web et tapez l'URL **http://votre-adresse-ip**. Vous serez alors redirigé vers la page de connexion de l'AWX :
Indiquez votre nom d'utilisateur et votre mot de passe admin que vous avez définis dans le fichier d'inventaire et cliquez sur le bouton “SE CONNECTER”.
Vous devriez voir le tableau de bord par défaut de l'AWX sur la page suivante :