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

Comment installer et configurer Ansible AWX sur Rocky Linux 8.3 et 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 les projets Ansible. AWX fournit une interface utilisateur basée sur le Web, 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 didacticiel, nous allons vous montrer comment installer AWX Ansible AWX avec Docker sur Rocky Linux 8.3 et CentOS 8.

Condition préalable

  • Serveur Rocky Linux 8.3 ou CentOS 8 avec au moins 4 Go de RAM.
  • Connectez-vous en tant qu'utilisateur root ou utilisateur avec les privilèges sudo

Avant de commencer

Ajoutez le référentiel EPEL sur le système avec la commande suivante :

dnf install epel-release -y 

Ensuite, vous devrez installer des packages supplémentaires nécessaires pour exécuter AWX sur le 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, nous devons installer Docker pour exécuter AWX dans un conteneur Docker. Par défaut, la dernière version de Docker n'est pas disponible dans les référentiels CentOS 8 par défaut. Vous devez donc ajouter le référentiel Docker sur 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 Docker installé, vérifiez quelle version de Docker est installée avec la commande suivante :

docker --version 

Vous devriez obtenir quelque chose comme ceci :

Docker version 19.03.7, build 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 :

systemctl status docker 

Vous devriez obtenir quelque chose comme ceci :

? docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-03-11 02:36:04 EDT; 23min ago
     Docs: https://docs.docker.com
 Main PID: 5882 (dockerd)
    Tasks: 101
   Memory: 2.6G
   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 containerd-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 verrez la sortie suivante :

docker-compose version 1.25.4, build unknown
 

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

alternatives --set python /usr/bin/python3 

Comment installer Google Chrome sur Ubuntu 20.04 et Ubuntu 21.04

Installer CentOS 8 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 :

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

Ensuite, créez une clé secrète pour chiffrer le fichier d'inventaire avec la commande suivante :

openssl rand -base64 30 

Vous obtiendrez le résultat suivant :

R + kbcDEUS8DlAftAbtWafVfLZ0lUy + Paqo3fEtep
 

Remarque :Notez la clé secrète qui apparaît en la copiant-collant dans un éditeur de texte, car vous devez la coller dans le fichier d'inventaire.

Ensuite, allez dans le répertoire awx/installer/ et éditez le fichier d'inventaire avec un éditeur de texte nano :

cd awx/installer/
 nano inventory 

Modifiez les lignes suivantes :

[all: vars] 
 dockerhub_base = ansible 
 awx_task_hostname = awx 
 awx_web_hostname = awxweb 
 postgres_data_dir = "/ var / lib / pgdocker" 
 host_port = 80 
 host_port_ssl = 443 
 docker_compose_dir = "~ / .awx / awxcompose" 
 pg_username = awx 
 pg_password = awxpass 
 pg_database = awx 
 pg_port = 5432 
 pg_admin_password = password 
 rabbitmq_password = awxpass 
 rabbitmq_erlang_cookie = cookiemonster 
 admin_user = admin 
 admin_password = password 
 create_preload_data = True 
 secret_key = R + kbcDEUS8DlAftAbtWafVfLZ0lUy + Paqo3fEtep 
 awx_official = true 
 awx_alternate_dns_servers = "8.8.8.8,8.8.4.4" 
 project_data_dir = / var / lib / awx / projects 
 

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 inventory install.yml 

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

skipping: [localhost]

TASK [local_docker : Load web image] **********************************************************************************************************
skipping: [localhost]

TASK [local_docker : Load task image] *********************************************************************************************************
skipping: [localhost]

TASK [local_docker : Set full image path for local install] ***********************************************************************************
skipping: [localhost]

TASK [local_docker : Set DockerHub Image Paths] ***********************************************************************************************
ok: [localhost]

TASK [local_docker : Create ~/.awx/awxcompose directory] **************************************************************************************
changed: [localhost]

TASK [local_docker : Create Docker Compose Configuration] *************************************************************************************
changed: [localhost] => (item=environment.sh)
changed: [localhost] => (item=credentials.py)
changed: [localhost] => (item=docker-compose.yml)
changed: [localhost] => (item=nginx.conf)

TASK [local_docker : Render SECRET_KEY file] **************************************************************************************************
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]

PLAY RECAP ************************************************************************************************************************************
localhost                  : ok=14   changed=6    unreachable=0    failed=0    skipped=95   rescued=0    ignored=0   
 

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

docker ps 

Vous verrez la sortie suivante :

CONTAINER ID        IMAGE                        COMMAND                  CREATED              STATUS              PORTS                                                 NAMES
4b91575d64b1        ansible/awx_task:9.2.0       "/tini -- /bin/sh -c…"   About a minute ago   Up About a minute   8052/tcp                                              awx_task
9827b9831fa5        ansible/awx_web:9.2.0        "/tini -- /bin/sh -c…"   About a minute ago   Up About a minute   0.0.0.0:80->8052/tcp                                  awx_web
47300ec1c26f        postgres:10                  "docker-entrypoint.s…"   About a minute ago   Up About a minute   5432/tcp                                              awx_postgres
166b153faa27        ansible/awx_rabbitmq:3.7.4   "docker-entrypoint.s…"   About a minute ago   Up 58 seconds       4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp   awx_rabbitmq
0f36c9784f74        memcached:alpine             "docker-entrypoint.s…"   About a minute ago   Up About a minute   11211/tcp                                             awx_memcached
 

Comment installer Laravel sur Ubuntu 20.04

Configurer SELinux et le pare-feu

Par défaut, SELinux est activé sur 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=enforcing
 

Et remplacez-le par la ligne suivante :

SELINUX=disabled
 

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le système pour appliquer les modifications. Ensuite, vous devez 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ès à l'interface Web AWX

Maintenant, ouvrez votre navigateur Web et saisissez l'URL http:// domain_ or_server-ip. Vous serez dirigé 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 CONNEXION . Vous verrez 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 Rocky Linux 8.3 et CentOS 8. Vous pouvez désormais gérer et contrôler facilement vos projets Ansible à l'aide de l'interface Web AWX.

Comment installer et configurer Java sur Ubuntu 20.04


Cent OS
  1. Comment installer et configurer docker dans Rocky Linux/Centos 8

  2. Comment installer et configurer Redis 6 sur Rocky Linux/Centos 8

  3. Comment installer et configurer Ansible sur Rocky Linux/CentOS 8

  4. Comment installer Erlang sur Rocky Linux/Alma Linux/CentOS 8

  5. Comment installer et configurer Mono sur Rocky Linux 8 et CentOS 8

Comment installer Docker sur Rocky Linux 8 / CentOS 8 / RHEL 8 / AlmaLinux

Comment installer Fish Shell sur CentOS 8 et Rocky Linux 8

Comment installer et utiliser Docker sur Rocky Linux 8

Comment installer Webmin sur CentOS 8 et Rocky Linux 8

Comment installer et configurer Jenkins dans Rocky Linux/Centos 8

Comment installer et configurer FreeIPA sur Rocky Linux/Centos 8