GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Ansible AWX su CentOS 8

AWX sta per "Ansible Web eXecutable" è un progetto gratuito e open source che ti consente di gestire e controllare facilmente il tuo progetto Ansible. Fornisce un'interfaccia utente basata sul Web e un motore di attività basato su Ansible. Fornisce una potente API REST e consente di gestire o sincronizzare l'inventario con altre origini cloud, controllare l'accesso e integrarsi con LDAP.

In questo tutorial, ti mostreremo come installare Ansible AWX con Docker su CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8 con almeno 4 GB di RAM.
  • Sul tuo server è configurata una password di root.

Per iniziare

Prima di iniziare, dovrai installare il repository EPEL nel tuo sistema. Puoi installarlo con il seguente comando:

dnf install epel-release -y

Successivamente, dovrai installare alcuni pacchetti aggiuntivi necessari per eseguire AWX sul tuo sistema. Puoi installarli tutti con il seguente comando:

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

Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.

Installa Docker e Docker Compose

Successivamente, dovrai installare Docker per eseguire AWX all'interno del contenitore Docker. Per impostazione predefinita, l'ultima versione di Docker non è disponibile nel repository predefinito di CentOS 8. Quindi dovrai aggiungere il repository Docker nel tuo sistema. Puoi aggiungere il repository Docker con il seguente comando:

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

Una volta aggiunta, installa l'ultima versione stabile di Docker con il seguente comando:

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

Una volta installato Docker, controlla la versione installata di Docker con il seguente comando:

docker --versione

Dovresti ottenere il seguente output:

Docker versione 19.03.7, build 7141c199a2

Quindi, avvia il servizio Docker e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:

systemctl avvia la finestra mobile
systemctl attiva la finestra mobile

Puoi verificare lo stato del servizio Docker con il seguente comando:

docker di stato systemctl

Dovresti ottenere il seguente output:

? docker.service - Motore del contenitore dell'applicazione Docker caricato:caricato (/usr/lib/systemd/system/docker.service; disabilitato; preimpostazione del fornitore:disabilitato) Attivo:attivo (in esecuzione) da mer 2020-03-11 02:36:04 EDT; 23min fa Documenti:https://docs.docker.com PID principale:5882 (dockerd) Compiti:101 Memoria: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 contengono erd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/166b153faa275>

Quindi, installa Docker Compose utilizzando il seguente comando:

pip3 installa docker-compose

Una volta installato, verifica la versione di Docker Compose utilizzando il seguente comando:

docker-compose --version

Dovresti vedere il seguente output:

docker-compose versione 1.25.4, build sconosciuta

Infine, esegui il comando seguente per impostare il comando python per utilizzare python 3:

alternative --set python /usr/bin/python3

Installa Ansible AWX

Innanzitutto, scarica l'ultima versione di Ansible AWX dal repository Git Hub utilizzando il comando seguente:

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

Quindi, genera una chiave segreta per la crittografia del file di inventario con il seguente comando:

openssl rand -base64 30

Dovresti ottenere il seguente output:

R+kbcDEUS8DlAftAbfWafVqLZ0lUy+Paqo4fEtgp

Nota:ricorda i segreti di cui sopra, dovrai incollarli nel file di inventario.

Quindi, cambia la directory in awx/installer/ e modifica il file di inventario:

cd awx/installer/
nano inventory

Modifica le seguenti righe:

[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_passdatabase=awx3pg_port_admin=5password32pg_password_admin awxpassrabbitmq_erlang_cookie=cookiemonsteradmin_user=admin_password=passwordcreate_preload_data=Truesecret_key=R+kbcDEUS8DlAftAbfWafVqLZ0lUy+Paqo4fEtgpawx_official=trueawx_alternate_dns_servers="8.8.8.8,8.8.4.4"project_data/awx/project/var/librex 

Salva e chiudi il file quando hai finito. Quindi, crea una directory per Postgres:

mkdir /var/lib/pgdocker

Infine, esegui il comando seguente per installare AWX:

ansible-playbook -i inventory install.yml

Una volta completata l'installazione, dovresti ottenere il seguente output:

salto:[localhost]TASK [local_docker:Carica immagine web] ********************************** ************************************************** ********************** ignorando:[localhost]TASK [local_docker:Carica immagine attività] *************** ************************************************** **************************************** ignorando:[localhost]TASK [local_docker:Imposta percorso completo dell'immagine per l'installazione locale] ******************************************* **************************************** ignorando:[localhost]TASK [local_docker:Imposta Percorsi immagine DockerHub] *************************************************** *************************************************ok :[localhost]TASK [local_docker :Crea directory ~/.awx/awxcompose] ********************************* ************************************************** ***modificato:[localhost]TASK [local_docker:Crea Docker Componi configurazione] ********************************* ************************************************** **modificato:[localhos t] => (item=environment.sh) modificato:[localhost] => (item=credentials.py) modificato:[localhost] => (item=docker-compose.yml) modificato:[localhost] => (item=docker-compose.yml) =nginx.conf)TASK [local_docker:Render file SECRET_KEY] ************************************* ************************************************** ***********modificato:[localhost]TASK [local_docker:avvia i contenitori] ************************** ************************************************** ************************* modificato:[localhost]TASK [local_docker:Aggiorna CA trust nel contenitore awx_web] ********** ************************************************** ************************* modificato:[localhost]TASK [local_docker:Aggiorna CA trust nel contenitore awx_task] ********** ************************************************** ***********************modificato:[localhost]PLAY RECAP ******************** ************************************************** ************************************************** ************localhost:ok=14 modifiche d=6 irraggiungibile=0 non riuscito=0 ignorato=95 salvato=0 ignorato=0 

Il comando precedente creerà e avvierà tutti i contenitori Docker necessari per AWX. Puoi verificare i contenitori in esecuzione con il seguente comando:

docker ps

Dovresti vedere il seguente output:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES4b91575d64b1 ansible/awx_task:9.2.0 "/tini -- /bin/sh -c…" Circa un minuto fa Su Circa un minuto 8052/tcp awx_task9827b9831fa5 ansible/awx_web:9.2.0 "/tini -- /bin/sh -c..." Circa un minuto fa Su Circa un minuto 0.0.0.0:80->8052/tcp awx_web47300ec1c26f postgres:10 "docker-entrypoint.s..." Circa un minuto fa Su Circa un minuto 5432/tcp awx_postgres166b153faa27 ansible/awx_rabbitmq:3.7.4 "docker-entrypoint.s..." Circa un minuto fa Fino a 58 secondi 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp awx_6f9rabbitmq0f4 "docker-entrypoint.s..." Circa un minuto fa Su Circa a minuto 11211/tcp awx_memcached

Configura SELinux e Firewall

Per impostazione predefinita, SELinux è abilitato in CentOS 8. Si consiglia di disabilitarlo per funzionare con AWX nell'ambiente Docker. Puoi disabilitarlo modificando il seguente file:

nano /etc/sysconfig/selinux

Trova la seguente riga:

SELINUX=applicazione

E sostituiscilo con la seguente riga:

SELINUX=disabilitato

Salva e chiudi il file quando hai finito. Quindi, riavvia il sistema per implementare le modifiche. Successivamente, dovrai consentire il servizio http e https tramite firewalld. Puoi consentirli con il seguente comando:

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

Quindi, riavvia il servizio firewalld per applicare le modifiche:

firewall-cmd --reload

Accedi all'interfaccia Web AWX

Ora apri il tuo browser web e digita l'URL http://your-server-ip. Verrai reindirizzato alla pagina di accesso di AWX:

Fornisci il nome utente e la password dell'amministratore che hai definito nel file di inventario e fai clic su SIGN IN pulsante. Dovresti vedere la dashboard predefinita di AWX nella pagina seguente:

Conclusione

Congratulazioni! hai installato correttamente AWX con Docker su CentOS 8. Ora puoi gestire e controllare facilmente il tuo progetto Ansible utilizzando l'interfaccia web AWX.


Cent OS
  1. Come installare Docker su CentOS 7

  2. Come installare Docker Compose su CentOS 7

  3. Come installare Docker in CentOS

  4. Come installare Ansible su CentOS 7

  5. Come installare Ansible su CentOS 8

Come installare Streama su CentOS 7

Come installare Ansible AWX su Debian 10

Come installare Docker su CentOS

Come installare Docker su CentOS 7

Come installare e configurare Ansible AWX su Rocky Linux 8.3 e CentOS 8

Come installare Ansible AWX su Debian 10