GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Ansible AWX sur CentOS 8

AWX signifie "Ansible Web eXecutable" est un projet gratuit et open source qui vous permet de gérer et de contrôler facilement votre projet Ansible. Il fournit une interface utilisateur Web et un moteur de tâches construits sur Ansible. Il fournit une API REST puissante et vous permet de gérer ou de synchroniser l'inventaire avec d'autres sources cloud, de contrôler l'accès et de s'intégrer à LDAP.

Dans ce tutoriel, nous allons vous montrer comment installer Ansible AWX avec Docker sur CentOS 8.

Prérequis

  • Un serveur exécutant CentOS 8 avec au moins 4 Go de RAM.
  • Un mot de passe root est configuré sur votre serveur.

Mise en route

Avant de commencer, vous devrez installer le référentiel EPEL sur votre système. Vous pouvez l'installer avec la commande suivante :

dnf install epel-release -y

Ensuite, vous devrez installer certains packages supplémentaires nécessaires pour exécuter AWX sur votre système. Vous pouvez tous les installer avec la commande suivante :

dnf install git gcc gcc-c++ ansible nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip -y

Une fois tous les packages installés, vous pouvez passer à l'étape suivante.

Installer Docker et Docker Compose

Ensuite, vous devrez installer Docker pour exécuter AWX dans le conteneur Docker. Par défaut, la dernière version de Docker n'est pas disponible dans le référentiel par défaut de CentOS 8. Vous devrez donc ajouter le référentiel Docker dans votre système. Vous pouvez ajouter le référentiel Docker avec la commande suivante :

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Une fois ajouté, installez la dernière version stable de Docker avec la commande suivante :

dnf install docker-ce-3:18.09.1-3.el7 -y

Une fois le Docker installé, vérifiez la version installée de Docker avec la commande suivante :

docker --version

Vous devriez obtenir le résultat suivant :

Docker version 19.03.7, compilation 7141c199a2

Ensuite, démarrez le service Docker et activez-le après le redémarrage du système avec la commande suivante :

systemctl start docker
systemctl enable docker

Vous pouvez vérifier l'état du service Docker avec la commande suivante :

menu fixe d'état systemctl

Vous devriez obtenir le résultat suivant :

 ? docker.service - Moteur de conteneur d'applications Docker chargé :chargé (/usr/lib/systemd/system/docker.service ; désactivé ; préréglage du fournisseur :désactivé) Actif :actif (en cours d'exécution) depuis le mer. 2020-03-11 02:36:04 EDT; Il y a 23min Docs :https://docs.docker.com PID principal :5882 (dockerd) Tâches :101 Mémoire :2,6 G CGroup :/system.slice/docker.service ??5882 /usr/bin/dockerd -H fd :// ??5899 containerd --config /var/run/docker/containerd/containerd.toml --log-level info ??8815 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io .containerd.runtime.v1.linux/moby/4b91575d64b1b> ??8847 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/0f36c9784f748> ? ?8894 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.18.0.5 -container-port 8052 ??8899 containerd-shim -namespace moby -workdir /var /lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/47300ec1c26ff> ??8923 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime .v1.linux/moby/9827b9831fa5b> ??9631 contiennent erd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/166b153faa275>

Ensuite, installez Docker compose à l'aide de la commande suivante :

pip3 install docker-compose

Une fois installé, vérifiez la version de Docker compose à l'aide de la commande suivante :

docker-compose --version

Vous devriez voir le résultat suivant :

docker-compose version 1.25.4, build inconnu

Enfin, exécutez la commande suivante pour définir la commande python afin qu'elle utilise python 3 :

alternatives --set python /usr/bin/python3

Installer Ansible AWX

Tout d'abord, téléchargez la dernière version d'Ansible AWX à partir du référentiel Git Hub à l'aide de la commande suivante :

cloner git https://github.com/ansible/awx.git

Ensuite, générez une clé secrète pour le chiffrement du fichier d'inventaire avec la commande suivante :

openssl rand -base64 30

Vous devriez obtenir le résultat suivant :

R+kbcDEUS8DlAftAbfWafVqLZ0lUy+Paqo4fEtgp

Remarque :N'oubliez pas les secrets ci-dessus, vous devrez les coller dans le fichier d'inventaire.

Ensuite, changez le répertoire en awx/installer/ et modifiez le fichier d'inventaire :

cd awx/installer/
nano inventaire

Modifiez les lignes suivantes :

[all:vars]dockerhub_base=ansibleawx_task_hostname=awxawx_web_hostname=awxwebpostgres_data_dir="/var/lib/pgdocker"host_port=80host_port_ssl=443docker_compose_dir="~/.awx/awxcompose"pg_username=awxpg_password=awxpasspg_database=awxrab32pg_password=54444 awxpassrabbitmq_erlang_cookie=cookiemonsteradmin_user=adminadmin_password=passwordcreate_preload_data=Truesecret_key=R+kbcDEUS8DlAftAbfWafVqLZ0lUy+Paqo4fEtgpawx_official=trueawx_alternate_dns_servers="8.8.8.8,8.8.4.4"project_data_dir=/var/
 Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, créez un répertoire pour Postgres :

mkdir /var/lib/pgdocker

Enfin, exécutez la commande suivante pour installer AWX :

ansible-playbook -i inventaire install.yml

Une fois l'installation terminée avec succès, vous devriez obtenir le résultat suivant :

ignorer :[localhost]TASK [local_docker :charger l'image Web] ********************************** ****************************************************** **********************en sautant :[localhost]TASK [local_docker :Charger l'image de la tâche] *************** ****************************************************** ****************************************en sautant :[localhost]TASK [local_docker :Set chemin complet de l'image pour l'installation locale] *********************************************** ****************************************en sautant :[localhost]TASK [local_docker :Set Chemins d'accès aux images DockerHub] ********************************************** *************************************************d'accord :[localhost]TASK [local_docker :Créer le répertoire ~/.awx/awxcompose] ********************************* ****************************************************** ***modifié :[localhost]TASK [local_docker :Créer une configuration Docker Compose] ********************************* ****************************************************** **modifié :[localhos t] => (item=environment.sh)modifié :[localhost] => (item=credentials.py)modifié :[localhost] => (item=docker-compose.yml)modifié :[localhost] => (item =nginx.conf)TASK [local_docker :rendre le fichier SECRET_KEY] ************************************* ****************************************************** ***********modifié :[localhost]TASK [local_docker :démarrer les conteneurs] ************************** ****************************************************** ************************modifié :[localhost]TASK [local_docker :mettre à jour l'approbation de l'autorité de certification dans le conteneur awx_web] ********** ****************************************************** ************************modifié :[localhost]TASK [local_docker :mettre à jour l'approbation de l'autorité de certification dans le conteneur awx_task] ********** ****************************************************** *********************** modifié :[localhost] PLAY RECAP ******************** ****************************************************** ****************************************************** ************localhost :ok=14 changer d=6 inaccessible=0 échoué=0 ignoré=95 sauvé=0 ignoré=0 

La commande ci-dessus créera et démarrera tous les conteneurs Docker requis pour AWX. Vous pouvez vérifier les conteneurs en cours d'exécution avec la commande suivante :

docker ps

Vous devriez voir le résultat suivant :

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES4b91575d64b1 ansible/awx_task:9.2.0 "/tini -- /bin/sh -c…" Il y a environ une minute Up Environ une minute 8052/tcp awx_task9827b9831fa5 ansible/awx_web:9.2.0 "/tini -- /bin/sh -c…" Il y a environ une minute Up Environ une minute 0.0.0.0:80->8052/tcp awx_web47300ec1c26f postgres:10 "docker-entrypoint.s…" Il y a environ une minute Up Environ un minute 5432/tcp awx_postgres166b153faa27 ansible/awx_rabbitmq:3.7.4 "docker-entrypoint.s…" Il y a environ une minute Jusqu'à 58 secondes 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp awx_rabbitm978f36:"docker-entrypoint.s…" Il y a environ une minute minute 11211/tcp awx_memcached

Configurer SELinux et le pare-feu

Par défaut, SELinux est activé dans CentOS 8. Il est recommandé de le désactiver pour faire fonctionner AWX dans l'environnement Docker. Vous pouvez le désactiver en éditant le fichier suivant :

nano /etc/sysconfig/selinux

Recherchez la ligne suivante :

SELINUX=appliquer

Et remplacez-le par la ligne suivante :

SELINUX=désactivé

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez votre système pour mettre en œuvre les modifications. Ensuite, vous devrez autoriser les services http et https via firewalld. Vous pouvez les autoriser avec la commande suivante :

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add- service=https

Ensuite, redémarrez le service firewalld pour appliquer les modifications :

firewall-cmd --reload

Accéder à l'interface Web AWX

Maintenant, ouvrez votre navigateur Web et tapez l'URL http://your-server-ip. Vous serez redirigé vers la page de connexion AWX :

Fournissez votre nom d'utilisateur et votre mot de passe d'administrateur que vous avez définis dans le fichier d'inventaire et cliquez sur le bouton SIGN EN bouton. Vous devriez voir le tableau de bord par défaut d'AWX sur la page suivante :

Conclusion

Toutes nos félicitations! vous avez installé avec succès AWX avec Docker sur CentOS 8. Vous pouvez désormais gérer et contrôler facilement votre projet Ansible à l'aide de l'interface Web AWX.


Cent OS
  1. Comment installer Docker sur CentOS 7

  2. Comment installer Docker Compose sur CentOS 7

  3. Comment installer Docker dans CentOS

  4. Comment installer Ansible sur CentOS 7

  5. Comment installer Ansible sur CentOS 8

Comment installer Streama sur CentOS 7

Comment installer Ansible AWX sur Debian 10

Comment installer Docker sur CentOS

Comment installer Docker sur CentOS 7

Comment installer et configurer Ansible AWX sur Rocky Linux 8.3 et CentOS 8

Comment installer Ansible AWX sur Debian 10