Introducción
Ansible es una herramienta de automatización de código abierto que se utiliza para el aprovisionamiento de software, la gestión de la configuración y la implementación de aplicaciones. Le permite instalar, configurar e implementar aplicaciones automáticamente en múltiples sistemas.
AWX es una aplicación basada en web que se utiliza para controlar Ansible. Puede administrar libros de jugadas, inventarios, secretos y trabajos programados de Ansible desde una interfaz web de AWX.
Características
- Admite múltiples nubes como AWS, Azure y GCP
- Monitoreo de la actividad del usuario
- Incrementar la eficiencia y la seguridad.
- Control de acceso basado en roles de usuario y autenticación
- Planificación del trabajo
- Notificaciones integradas
En esta publicación, le mostraremos cómo instalar AWX en el servidor Debian 10.
Prerrequisitos
- Un servidor que ejecuta Debian 10.
- El usuario root o un usuario con privilegios sudo.
Para comenzar
Primero, actualice todos los paquetes del sistema a la última versión usando el siguiente comando:
sudo apt-get update -y
Una vez que se hayan actualizado todos los paquetes, instale otros paquetes necesarios con el siguiente comando:
sudo apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y
Una vez que haya instalado todos los paquetes, puede continuar con el siguiente paso.
Instalar Ansible
A continuación, deberá instalar Ansible en su sistema. De forma predeterminada, la última versión de Ansible no está incluida en el repositorio de Debian 10. Por lo tanto, deberá agregar el repositorio de Ansible a APT. Puedes agregarlo con el siguiente comando:
sudo echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | tee /etc/apt/sources.list.d/ansible.list
Una vez que se agrega el repositorio, agregue la clave GPG con el siguiente comando:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
A continuación, actualice el repositorio e instale la última versión de Ansible con el siguiente comando:
sudo apt-get update -y
sudo apt-get install ansible -y
Una vez que Ansible está instalado, puede verificar la versión instalada de Ansible con el siguiente comando:
sudo ansible --version
Debería obtener el siguiente resultado:
ansible 2.9.19
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.16 (default, Oct 11 2020, 21:12:12) [GCC 8.3.0]
En este punto, Ansible está instalado en su sistema. Ahora puede continuar con el siguiente paso.
Instalar Docker y Docker Compose
A continuación, deberá instalar Docker y Docker Compose en su sistema. De forma predeterminada, la última versión de Docker no está disponible en el repositorio predeterminado de Debian 10. Por lo tanto, deberá agregar el repositorio de Docker CE a su sistema. Primero, agregue la clave de Docker y el repositorio con el siguiente comando curl:
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
A continuación, actualice el repositorio e instale Docker CE con el siguiente comando:
sudo apt-get update -y
sudo apt-get install docker-ce -y
Una vez que Docker esté instalado, verifique la versión de Docker con el siguiente comando:
sudo docker --version
Debería ver el siguiente resultado:
Docker versione 20.10.5, build 55c4c88
A continuación, deberá instalar la última versión de Docker Compose en su sistema. Puede descargar el binario de Docker Compose con el siguiente comando:
sudo curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -
Una vez que se complete la descarga, configure los permisos apropiados con el siguiente comando chmod:
sudo chmod +x docker-compose-Linux-x86_64
Luego, mueva el binario de Docker Compose a la ruta del sistema con el siguiente comando mv:
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
A continuación, verifique la versión de Docker Compose con el siguiente comando:
sudo docker-compose version
Debería obtener el siguiente resultado:
docker-compose version 1.28.5, build c4eb3a1f
docker-py version: 4.4.4
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 11 Sep 2020
En este punto, Docker y Docker Compose están instalados en el sistema. Ahora puede continuar con el siguiente paso.
Instalador Node.js y NPM
A continuación, deberá instalar Node.js y NPM en su sistema. Puede instalar Node.js y NPM con el siguiente comando:
sudo apt-get install nodejs npm -y
sudo npm install npm --global
A continuación, instale otras dependencias de Python con el siguiente comando:
sudo apt-get install python3-pip git pwgen -y
A continuación, instale el módulo Docker Compose que coincida con su versión de Docker Compose con el siguiente comando:
sudo pip3 install docker-compose==1.28.5
Una vez hecho esto, puede continuar con el siguiente paso.
Nota : asegúrese de que 1.28.5 coincida con la versión de Docker Compose instalada en su sistema.
Instalar AWX
A continuación, deberá instalar AWX en su sistema. Primero, descargue AWX del repositorio de Git Hub con el siguiente comando wget:
sudo wget https://github.com/ansible/awx/archive/17.1.0.zip
Una vez que se complete la descarga, descomprima el archivo descargado con el siguiente comando:
sudo unzip 17.1.0.zip
A continuación, cambie el directorio al instalador con el siguiente comando cd:
cd awx-17.1.0/installer/
Luego, genere la clave secreta ejecutando el siguiente comando:
sudo pwgen -N 1 -s 30
Debería obtener el siguiente resultado:
d1h81f048AA0hg0238erej203939d
A continuación, edite el archivo de inventario y defina el nombre de usuario, la contraseña y la clave secreta del administrador con su editor:
sudo nano inventory
Cambie las siguientes líneas:
admin_user=admin
admin_password=securepassword
secret_key=d1h81f048AA0hg0238erej203939d
Cuando termine, guarde y cierre el archivo, luego instale AWX ejecutando el siguiente comando:
sudo ansible-playbook -i inventory install.yml
Una vez que AWX se haya instalado correctamente, debería obtener el siguiente resultado:
changed: [localhost]
TASK [local_docker : Create Docker Compose Configuration] *************************************************************************************
changed: [localhost] => (item={u'mode': u'0600', u'file': u'environment.sh'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'credentials.py'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'docker-compose.yml'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'nginx.conf'})
changed: [localhost] => (item={u'mode': u'0664', u'file': u'redis.conf'})
TASK [local_docker : Render SECRET_KEY file] **************************************************************************************************
changed: [localhost]
TASK [local_docker : Remove AWX containers before migrating postgres so that the old postgres container does not get used] ********************
ok: [localhost]
TASK [local_docker : Run migrations in task container] ****************************************************************************************
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]
TASK [local_docker : Wait for launch script to create user] ***********************************************************************************
ok: [localhost]
TASK [local_docker : Create Preload data] *****************************************************************************************************
changed: [localhost]
PLAY RECAP ************************************************************************************************************************************
localhost : ok=21 changed=12 unreachable=0 failed=0 skipped=73 rescued=0 ignored=1
En este punto, AWX está instalado en su sistema. Ahora puede proceder para acceder a la interfaz de usuario web de AWX.
Inicie sesión en Ansible AWX
Ahora abra su navegador web e inicie sesión en la interfaz web de Ansible AWX usando la URL http: // your-server-ip . Se le redirigirá a la página de inicio de sesión de AWX:
Proporcione el nombre de usuario y la contraseña del administrador y haga clic en el botón Iniciar sesión . Debería ver el panel de Ansible AWX.
Conclusión
En este tutorial, hemos visto cómo instalar Ansible AWX en el servidor Debian 10. Ahora puede administrar fácilmente el libro de jugadas, el inventario y los trabajos de Ansible desde el panel de AWX.