Cómo instalar Ansible en Rocky Linux 8

Ansible es un software de código abierto que automatiza el aprovisionamiento de software, la gestión de la configuración y el despliegue de aplicaciones. La herramienta está diseñada para automatizar el aprovisionamiento de nubes, despliegues de SO, etc., para múltiples sistemas Linux o similares a UNIX. Con la herramienta de automatización Ansible, se pueden automatizar los servicios de un centro de datos, así como los productos desarrollados con distintas tecnologías.

Entre los principales objetivos de Ansible está hacer que la automatización informática sea lo suficientemente sencilla como para gestionar entornos empresariales complejos sin excesivas secuencias de comandos personalizadas ni trabajo manual. Al no necesitar más dependencias que el propio Python, permite a los usuarios automatizar aún más su sistema mediante conexiones SSH, que están activadas por defecto en la mayoría de las distribuciones de Linux actuales.

Ansible funciona conectándose a los nodos a través de SSH y recopilando información sobre el sistema remoto. A continuación, ejecuta tareas en un libro de jugadas para desplegar servicios u otros objetivos de gestión de la configuración. Los playbooks pueden automatizar cualquier número de procesos de aprovisionamiento de sistemas, como la creación de instancias de servidores en la nube, máquinas virtuales, contenedores, etc. Ansible es útil para automatizar tareas repetitivas, como el despliegue de aplicaciones en servidores de naturaleza diversa, que a menudo requieren personalizaciones basadas en la infraestructura local y en las aportaciones del usuario. Los clústeres que ejecutan Kubernetes también pueden gestionarse fácilmente con el soporte de orquestación de contenedores de Ansible: realizando acciones como extraer imágenes de registros privados y actualizar configuraciones de pods simultáneamente en todos los clústeres.

¿Cuántas veces has intentado instalar un nuevo paquete Linux y has fallado? ¿Alguna vez has querido intentar instalar el paquete Ansible en tu sistema Linux pero no sabes cómo? Si has respondido que sí, esta entrada del blog es para ti. Este tutorial te mostrará cómo descargar, compilar e instalar Ansible en un sistema Rocky Linux 8.

Requisitos previos

  • Un servidor con sistema operativo Rocky Linux 8
  • Privilegios de root

Paso 1. Actualizar el sistema

En primer lugar, debemos actualizar nuestro sistema para asegurarnos de que están instalados todos los paquetes más recientes. Abre un terminal y escribe los siguientes comandos.

sudo dnf update -y

Paso 2. Configurar el repositorio EPEL

El repositorio de Paquetes Adicionales para Linux Empresarial (EPEL) es un Grupo de Interés Especial de Fedora que crea, mantiene y gestiona un conjunto de paquetes adicionales de alta calidad que complementan los paquetes publicados por Red Hat. Algunas de las áreas de interés del repositorio son juegos y aplicaciones educativas, lenguajes y herramientas de programación, virtualización y administración de sistemas.

Ansible depende de python, y no podemos instalarlo sin el repositorio EPEL. Por tanto, para instalar ansible mediante dnf, primero debemos configurar el repositorio EPEL.

sudo dnf install epel-release -y

Tras configurar el repositorio EPEL, es necesario actualizar el gestor de paquetes DNF para que pueda instalar Ansible desde el nuevo repositorio.

sudo dnf makecache

Para comprobar si el repositorio se ha configurado correctamente, ejecuta el siguiente comando.

Obtendrás la siguiente salida.

Configurar el repositorio EPEL

Paso 3. Instalar Ansible

Ahora que se ha configurado el repositorio EPEL, podemos utilizarlo para instalar Ansible con el gestor de paquetes DNF.

sudo dnf -y install ansible

El comando DNF debería empezar a descargar todos los paquetes necesarios e instalar la última versión de Ansible en tu sistema. Durante la instalación, puede que se te pida que aceptes la clave GPG. Pulsa Y y Enter para continuar.

Una vez instalado Ansible, puedes comprobar qué versión de Ansible está instalada ejecutando el siguiente comando:

ansible --version

Ansible debería mostrar su número de versión y la fecha de lanzamiento. Esto verifica que Ansible se ha instalado correctamente.

 Instalar Ansible

Paso 4. Verificar la instalación de Ansible

Para asegurarnos de que la instalación se ha realizado correctamente. En este paso, gestionaremos o administraremos un servidor remoto con Ansible.

Configurar el servidor de destino para Ansible

Ansible utiliza SSH para conectarse a un servidor de destino y configurarlo. SSH es un popular protocolo de red que se utiliza para conectarse de forma segura a una máquina Linux remota y ejecutar comandos en la máquina remota a través de SSH.

Ansible utiliza el puerto 22, por lo que éste debe estar abierto en el cortafuegos para permitir las conexiones SSH.

En este ejemplo, vamos a utilizar un servidor Ubuntu 20.04 con su dirección IP 137.184.66.179.

Puedes utilizar las direcciones IP de los servidores que quieras gestionar con Ansible. Sólo tienes que sustituir la dirección IP anterior por tu servidor de destino. También puedes utilizar el nombre DNS o el alias DNS de la máquina.

Ejecuta los siguientes comandos para instalar el servidor SSH y abrir el puerto 22 en el servidor de destino.

sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
sudo ufw allow 22

Generar una clave SSH

En este paso, tenemos que generar una clave SSH en nuestra máquina local y luego enviar la clave SSH a la máquina remota.

Las claves SSH son simplemente pares de claves que permiten establecer conexiones SSH con SSH. Ejecuta el siguiente comando para generar una clave SSH en tu máquina local. Pulsa la tecla Intro varias veces para aceptar los valores por defecto. Obtendrás la siguiente salida.

ssh-keygen

Generar una clave SSH

Una vez generada la clave SSH, tenemos que enviar nuestra clave SSH recién generada a la máquina de destino. Ejecuta el siguiente comando en tu máquina anfitriona para enviar la clave.

ssh-copy-id [email protected]

Recuerda sustituir root por los usuarios sudo de tu máquina de destino. Sustituye 137.184.66.179 por la dirección IP de tu máquina de destino.

Ahora, en la máquina remota, ejecuta el siguiente comando para ejecutar el comando SSH con el prefijo sudo sin tener que volver a introducir la contraseña.

echo "$(whoami) ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/$(whoami)

Creación del archivo de inventario

Ansible guarda su inventario de hosts en un archivo dentro del directorio /etc/ansible, y su nombre es hosts. El archivo hosts puede utilizarse para crear el inventario de hosts para gestionar tus servidores remotos.

También puedes crear un grupo de hosts basándote en su función, ubicación o cualquier otro criterio. Por ejemplo, puedes crear un grupo de hosts llamado Servidor Web y colocar dentro de este grupo todos los servidores que ejecuten Apache o Nginx. Esto proporciona una forma de controlar y gestionar los hosts de una manera más flexible.

En primer lugar, abre el archivo host con tu editor de texto favorito.

sudo nano /etc/ansible/hosts

El archivo de inventario debería tener el siguiente contenido.

Crear archivo de inventario

Para añadir un host adicional a este inventario, simplemente añade la nueva línea con el nombre de host o la dirección IP del host . En este ejemplo, añadimos un servidor más con la dirección IP 137.184.66.179 al archivo hosts dentro del grupo webservers.

Crear archivo de inventario

Pulsa ctrl+o para guardar el archivo y ctrl+x para salir de él.

Hacer ping a servidores remotos

Una vez creado el archivo de inventario, tenemos que informar a Ansible de que hay un nuevo servidor remoto. Podemos hacerlo utilizando el comando ansible con el argumento -m ping.

ansible -m ping all

Si no se produce ningún error, el servidor remoto se ha añadido correctamente al archivo de inventario, y tu instalación de Ansible se ha realizado con éxito.

Hacer ping a servidores remotos

Conclusión

En este tutorial, has aprendido a instalar Ansible en un sistema Rocky Linux 8.4 y a conectarlo a un servidor remoto mediante SSH. Después, has aprendido a crear un archivo de inventario ansible grupo de hosts. Por último, pudiste hacer ping a servidores remotos utilizando el comando ansible.

Ahora que hemos cubierto algunos de los aspectos básicos de Ansible. Esperamos que este tutorial te resulte útil. Puede que te interese Cómo instalar y configurar Ansible en Ubuntu 22.04 LTS.

También te podría gustar...