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

Cómo instalar Ansible AWX en CentOS 8

AWX significa "Ansible Web eXecutable" y es un proyecto gratuito y de código abierto que le permite administrar y controlar su proyecto Ansible fácilmente. Proporciona una interfaz de usuario basada en web y un motor de tareas construido sobre Ansible. Proporciona 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 Ansible AWX con Docker en CentOS 8.

Requisitos

  • Un servidor que ejecute CentOS 8 con un mínimo de 4 GB de RAM.
  • Se ha configurado una contraseña raíz en su servidor.

Cómo empezar

Antes de comenzar, deberá instalar el repositorio EPEL en su sistema. Puede instalarlo con el siguiente comando:

dnf install epel-release -y

A continuación, deberá instalar algunos paquetes adicionales necesarios para ejecutar AWX en su 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 todos los paquetes estén instalados, puede continuar con el siguiente paso.

Instalar Docker y Docker Compose

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

administrador de configuración de dnf --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 se haya instalado Docker, verifique la versión instalada de Docker con el siguiente comando:

docker --versión

Deberías obtener el siguiente resultado:

Docker versión 19.03.7, compilación 7141c199a2

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

systemctl iniciar ventana acoplable
systemctl habilitar ventana acoplable

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

ventana acoplable de estado de systemctl

Deberías obtener el siguiente resultado:

? docker.service - Docker Application Container Engine Cargado:cargado (/usr/lib/systemd/system/docker.service; deshabilitado; valor preestablecido del proveedor:deshabilitado) Activo:activo (en ejecución) desde el miércoles 11 de marzo de 2020 a las 02:36:04 EDT; Hace 23 minutos Documentos:https://docs.docker.com PID principal:5882 (dockerd) Tareas:101 Memoria:2.6G CGroup:/system.slice/docker.service ??5882 /usr/bin/dockerd -H fd:// ??5899 containerd --config /var/run/docker/containerd/containerd.toml --info de nivel de registro ??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 contiene erd-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 instalar docker-compose

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

docker-compose --versión

Debería ver el siguiente resultado:

docker-compose versión 1.25.4, compilación desconocida

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

alternativas --set python /usr/bin/python3

Instalar Ansible AWX

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

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

A continuación, genere una clave secreta para el cifrado del archivo de inventario con el siguiente comando:

openssl rand -base64 30

Deberías obtener el siguiente resultado:

R+kbcDEUS8DlAftAbfWafVqLZ0lUy+Paqo4fEtgp

Nota:Recuerde los secretos anteriores, deberá pegarlos en el archivo de inventario.

A continuación, cambie el directorio a awx/installer/ y edite el archivo de inventario:

cd awx/installer/
inventario nano

Cambie las siguientes líneas:

[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=awxpg_port_admin_passwordmbit2=543 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/lib/project_data_dirx/var/lib 

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

Una vez que la instalación se haya completado con éxito, debería obtener el siguiente resultado:

omitiendo:[localhost]TAREA [local_docker:Cargar imagen web] ********************************** **************************************************** ********************** omitiendo:[localhost] TAREA [local_docker:Cargar imagen de tarea] *************** **************************************************** *************************************** Saltando:[localhost] TAREA [local_docker:Establecer ruta completa de la imagen para la instalación local] ******************************************* *************************************** Saltando:[localhost] TAREA [local_docker:Establecer Rutas de imagen de DockerHub] ********************************************** *************************************************de acuerdo :[localhost]TAREA [local_docker :Crear directorio ~/.awx/awxcompose] ******************************** **************************************************** *** cambiado:[localhost] TAREA [local_docker:Crear configuración de composición de Docker] ******************************** **************************************************** **cambiado:[localhos t] => (elemento=entorno.sh)cambiado:[localhost] => (elemento=credenciales.py)cambiado:[localhost] => (elemento=docker-compose.yml)cambiado:[localhost] => (elemento =nginx.conf)TAREA [local_docker:renderizar archivo SECRET_KEY] ************************************ **************************************************** *********** cambiado:[localhost] TAREA [local_docker:iniciar los contenedores] ************************** **************************************************** *********************** cambiado:[localhost] TAREA [local_docker:actualizar la confianza de CA en el contenedor awx_web] ********** **************************************************** *********************** cambiado:[localhost] TAREA [local_docker:actualizar la confianza de CA en el contenedor awx_task] ********** **************************************************** *********************** cambiado:[localhost]REPRODUCIR RESUMEN ******************* **************************************************** **************************************************** ************localhost:ok=14 cambiar d=6 inalcanzable=0 fallido=0 omitido=95 rescatado=0 ignorado=0 

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

docker ps

Debería ver el siguiente resultado:

ID DEL CONTENEDOR IMAGEN COMANDO CREADO ESTADO PUERTOS NOMBRES4b91575d64b1 ansible/awx_task:9.2.0 "/tini -- /bin/sh -c..." Hace aproximadamente un minuto Arriba Aproximadamente un minuto 8052/tcp awx_task9827b9831fa5 ansible/awx_web:9.2.0 "/tini -- /bin/sh -c…" Hace aproximadamente un minuto Subir Aproximadamente un minuto 0.0.0.0:80->8052/tcp awx_web47300ec1c26f postgres:10 "docker-entrypoint.s…" Hace aproximadamente un minuto Subir Aproximadamente un minuto 5432/tcp awx_postgres166b153faa27 ansible/awx_rabbitmq:3.7.4 "docker-entrypoint.s…" Hace aproximadamente un minuto Arriba 58 segundos 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp awx_rabbitmpinel8fcaf7c9q7m:"docker-entrypoint.s..." Hace aproximadamente un minuto Subir Acerca de un minuto 11211/tcp awx_memcached

Configurar SELinux y Firewall

Por defecto, 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=hacer cumplir

Y reemplácelo con la siguiente línea:

SELINUX=deshabilitado

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie su sistema para implementar los cambios. A continuación, deberá permitir el servicio 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- servicio=https

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

firewall-cmd --recargar

Acceder a la interfaz web de AWX

Ahora, abra su navegador web y escriba la URL http://your-server-ip. Será redirigido a la página de inicio de sesión de AWX:

Proporcione su nombre de usuario y contraseña de administrador que ha definido en el archivo de inventario y haga clic en FIRMAR EN botón. Debería ver el panel predeterminado de AWX en la siguiente página:

Conclusión

¡Felicidades! ha instalado correctamente AWX con Docker en CentOS 8. Ahora puede administrar y controlar su proyecto Ansible fácilmente mediante la interfaz web de AWX.


Cent OS
  1. Cómo instalar Docker en CentOS 7

  2. Cómo instalar Docker Compose en CentOS 7

  3. Cómo instalar Docker en CentOS

  4. Cómo instalar Ansible en CentOS 7

  5. Cómo instalar Ansible en CentOS 8

Cómo instalar Streama en CentOS 7

Cómo instalar Ansible AWX en Debian 10

Cómo instalar Docker en CentOS

Cómo instalar Docker en CentOS 7

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

Cómo instalar Ansible AWX en Debian 10