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

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

AWX sta per "Ansible Web eXecutable" è un progetto gratuito e open source che consente di gestire e controllare facilmente i progetti Ansible. AWX fornisce un'interfaccia utente basata sul Web, 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 AWX Ansible AWX con Docker su Rocky Linux 8.3 e CentOS 8.

Prerequisito

  • Server Rocky Linux 8.3 o CentOS 8 con minimo 4 GB di RAM.
  • Accedi come root o utente con privilegi sudo

Prima di iniziare

Aggiungi il repository EPEL sul sistema con il seguente comando:

dnf install epel-release -y 

Successivamente, dovrai installare alcuni pacchetti aggiuntivi necessari per eseguire AWX sul 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 passare al passaggio successivo.

Installa Docker e Docker Compose

Successivamente, è necessario installare Docker per eseguire AWX all'interno di un contenitore Docker. Per impostazione predefinita, l'ultima versione di Docker non è disponibile nei repository CentOS 8 predefiniti. Quindi è necessario aggiungere il repository Docker sul 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 quale versione di Docker è installata con il seguente comando:

docker --version 

Dovresti ottenere qualcosa del genere:

Docker version 19.03.7, build 7141c199a2
 

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

systemctl start docker
 systemctl enable docker 

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

systemctl status docker 

Dovresti ottenere qualcosa del genere:

? 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>
 

Quindi, installa Docker Compose utilizzando il seguente comando:

pip3 install docker-compose 

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

docker-compose --version 

Vedrai il seguente output:

docker-compose version 1.25.4, build unknown
 

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

alternatives --set python /usr/bin/python3 

Come installare Google Chrome su Ubuntu 20.04 e Ubuntu 21.04

Installa CentOS 8 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, crea una chiave segreta per crittografare il file di inventario con il seguente comando:

openssl rand -base64 30 

Otterrai il seguente output:

R + kbcDEUS8DlAftAbtWafVfLZ0lUy + Paqo3fEtep
 

Nota :Annota la chiave segreta che appare copiandola e incollandola in un editor di testo, perché devi incollarla nel file di inventario.

Quindi, passa alla directory awx/installer / e modifica il file di inventario con un editor di testo nano :

cd awx/installer/
 nano inventory 

Modifica le seguenti righe:

[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 
 

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

mkdir /var/lib/pgdocker 

Infine, esegui il comando seguente per installare AWX:

ansible-playbook -i inventory install.yml 

Al termine dell'installazione, dovresti ottenere il seguente output:

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   
 

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

docker ps 

Vedrai il seguente output:

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
 

Come installare Laravel su Ubuntu 20.04

Configura SELinux e Firewall

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

nano /etc/sysconfig/selinux 

Trova la riga seguente:

SELINUX=enforcing
 

E sostituiscilo con la seguente riga:

SELINUX=disabled
 

Salva e chiudi il file quando hai finito. Quindi, riavvia il sistema per implementare le modifiche. Successivamente, è necessario consentire i servizi 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-service=https 

Quindi, riavvia il servizio firewalld per applicare le modifiche:

firewall-cmd --reload 

Accesso all'interfaccia Web AWX

Ora apri il tuo browser web e digita l'URL http:// domain_ or_server-ip. Verrai indirizzato alla pagina di accesso di AWX:

Fornisci il nome utente e la password dell'amministratore che hai impostato nel file di inventario e fai clic sul pulsante ACCEDI . Vedrai la dashboard predefinita di AWX nella pagina seguente:

Conclusione

Congratulazioni! Hai installato correttamente AWX con Docker su Rocky Linux 8.3 e CentOS 8. Ora puoi gestire e controllare facilmente i tuoi progetti Ansible utilizzando l'interfaccia web AWX.

Come installare e configurare Java su Ubuntu 20.04


Cent OS
  1. Come installare e configurare la finestra mobile in Rocky Linux/Centos 8

  2. Come installare e configurare Redis 6 su Rocky Linux/Centos 8

  3. Come installare e configurare Ansible su Rocky Linux/CentOS 8

  4. Come installare Erlang su Rocky Linux/Alma Linux/CentOS 8

  5. Come installare Ansible su CentOS 8 Linux

Come installare Docker su Rocky Linux 8 / CentOS 8 / RHEL 8 / AlmaLinux

Come installare Fish Shell su CentOS 8 e Rocky Linux 8

Come installare e utilizzare Docker su Rocky Linux 8

Come installare Webmin su CentOS 8 e Rocky Linux 8

Come installare e configurare Jenkins in Rocky Linux/Centos 8

Come installare e configurare FreeIPA su Rocky Linux/Centos 8