GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y configurar Ansible AWX en Rocky Linux 8.3 y CentOS 8

AWX significa "Ansible Web eXecutable" y es un proyecto gratuito y de código abierto que le permite administrar y controlar fácilmente los proyectos de Ansible. AWX proporciona una interfaz de usuario basada en la web, una potente API REST y le permite administrar o sincronizar el inventario con otras fuentes en la nube, controlar el acceso e integrarse con LDAP.

En este tutorial, le mostraremos cómo instalar AWX Ansible AWX con Docker en Rocky Linux 8.3 y CentOS 8.

Condición previa

  • Servidor Rocky Linux 8.3 o CentOS 8 con un mínimo de 4 GB de RAM.
  • Inicie sesión como root o usuario con privilegios sudo

Antes de empezar

Agregue el Repositorio EPEL en el sistema con el siguiente comando:

dnf install epel-release -y 

A continuación, deberá instalar algunos paquetes adicionales necesarios para ejecutar AWX en el sistema. Puede instalarlos todos con el siguiente comando:

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

Una vez que se hayan instalado todos los paquetes, puede pasar al siguiente paso.

Instalar Docker y Docker Compose

A continuación, debemos instalar Docker para ejecutar AWX dentro de un contenedor Docker. De forma predeterminada, la última versión de Docker no está disponible en los repositorios predeterminados de CentOS 8. Por lo tanto, debe agregar el repositorio de Docker en su sistema. Puede agregar el repositorio de Docker con el siguiente comando:

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

Una vez agregado, instale la última versión estable de Docker con el siguiente comando:

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

Una vez que Docker esté instalado, verifique qué versión de Docker está instalada con el siguiente comando:

docker --version 

Debería obtener algo como esto:

Docker version 19.03.7, build 7141c199a2
 

A continuación, inicie el servicio Docker y habilítelo para que se inicie después de que el sistema se reinicie con el siguiente comando:

systemctl start docker
 systemctl enable docker 

Puede verificar el estado del servicio Docker con el siguiente comando:

systemctl status docker 

Debería obtener algo como esto:

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

A continuación, instale Docker compose con el siguiente comando:

pip3 install docker-compose 

Una vez instalado, verifique la versión de composición de Docker con el siguiente comando:

docker-compose --version 

Verá el siguiente resultado:

docker-compose version 1.25.4, build unknown
 

Finalmente, ejecute el siguiente comando para configurar el comando python para usar python 3:

alternatives --set python /usr/bin/python3 

Cómo instalar Google Chrome en Ubuntu 20.04 y Ubuntu 21.04

Instalar CentOS 8 Ansible AWX

Primero, descargue la última versión de Ansible AWX del repositorio de Git Hub usando el siguiente comando:

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

A continuación, cree una clave secreta para cifrar el archivo de inventario con el siguiente comando:

openssl rand -base64 30 

Obtendrá el siguiente resultado:

R + kbcDEUS8DlAftAbtWafVfLZ0lUy + Paqo3fEtep
 

Nota :Anota la clave secreta que aparece al copiarla y pegarla en un editor de texto, porque tienes que pegarla en el archivo de inventario.

A continuación, cambie al directorio awx/ installer / y edite el archivo de inventario con un editor de texto nano :

cd awx/installer/
 nano inventory 

Cambie las siguientes líneas:

[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 
 

Guarde y cierre el archivo cuando haya terminado. Luego, cree un directorio para Postgres:

mkdir /var/lib/pgdocker 

Finalmente, ejecute el siguiente comando para instalar AWX:

ansible-playbook -i inventory install.yml 

Una vez que la instalación haya finalizado correctamente, debería obtener el siguiente resultado:

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   
 

El comando anterior creará e iniciará todos los contenedores Docker necesarios para AWX. Puede verificar un contenedor en ejecución con el siguiente comando:

docker ps 

Verá el siguiente resultado:

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
 

Cómo instalar Laravel en Ubuntu 20.04

Configurar SELinux y Cortafuegos

De forma predeterminada, SELinux está habilitado en CentOS 8. Se recomienda deshabilitarlo para que funcione AWX en el entorno Docker. Puede desactivarlo editando el siguiente archivo:

nano /etc/sysconfig/selinux 

Busque la siguiente línea:

SELINUX=enforcing
 

Y reemplácelo con la siguiente línea:

SELINUX=disabled
 

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el sistema para implementar los cambios. A continuación, debe permitir los servicios http y https a través de firewalld. Puede permitirlos con el siguiente comando:

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

A continuación, reinicie el servicio firewalld para aplicar los cambios:

firewall-cmd --reload 

Acceso a la interfaz web de AWX

Ahora, abra su navegador web y escriba la URL http:// dominio_ o_ip-del-servidor. Será dirigido a la página de inicio de sesión de AWX:

Proporcione su nombre de usuario y contraseña de administrador que configuró en el archivo de inventario y haga clic en el botón INICIAR SESIÓN . Verá el panel predeterminado de AWX en la siguiente página:

Conclusión

¡Felicidades! Ha instalado correctamente AWX con Docker en Rocky Linux 8.3 y CentOS 8. Ahora puede administrar y controlar fácilmente sus proyectos de Ansible mediante la interfaz web de AWX.

Cómo instalar y configurar Java en Ubuntu 20.04


Cent OS
  1. Cómo instalar y configurar docker en Rocky Linux/Centos 8

  2. Cómo instalar y configurar Redis 6 en Rocky Linux/Centos 8

  3. Cómo instalar y configurar Ansible en Rocky Linux/CentOS 8

  4. Cómo instalar Erlang en Rocky Linux/Alma Linux/CentOS 8

  5. Cómo instalar y usar Podman en Rocky Linux/Alma Linux/Centos 8

Cómo instalar Docker en Rocky Linux 8 / CentOS 8 / RHEL 8 / AlmaLinux

Cómo instalar Fish Shell en CentOS 8 y Rocky Linux 8

Cómo instalar y usar Docker en Rocky Linux 8

Cómo instalar Webmin en CentOS 8 y Rocky Linux 8

Cómo instalar y configurar Jenkins en Rocky Linux/Centos 8

Cómo instalar y configurar FreeIPA en Rocky Linux/Centos 8