WindowsMacSoftwareConfiguraciónSeguridadAndroidProductividadLinuxRendimientoApple Todo

Cómo instalar y usar Ansible en Linux

Editado 5 hace días por ExtremeHow Equipo Editorial

AutomatizaciónAnsibleGestión de ConfiguraciónDevOpsSecuencias de comandosLínea de comandosConfiguración del servidorOrquestaciónGuíasGestión

Cómo instalar y usar Ansible en Linux

Traducción actualizada 1 Hace una semana

Gestionar una gran cantidad de servidores y automatizar procesos es una tarea común para los administradores de sistemas y los profesionales de DevOps. Ansible es una herramienta poderosa y simple que puede ayudar en este aspecto. Permite infraestructura como código, gestión de configuración y automatización de tareas. Esta guía te guiará a través de los pasos detallados sobre cómo instalar y usar Ansible en Linux. Cubriremos lo básico necesario para comenzar con Ansible.

Introducción a Ansible

Ansible es una herramienta o plataforma de automatización de código abierto utilizada para tareas de TI como implementación de aplicaciones, orquestación, gestión de configuración, en la cual utiliza playbooks para configurar sistemas, desplegar software y orquestar flujos de trabajo avanzados. Es fácil de configurar, no requiere agentes y utiliza YAML (Yet Another Markup Language) para sus playbooks, lo que lo hace bastante simple para que los principiantes lo comprendan y utilicen efectivamente.

Requisitos Previos

Antes de comenzar, asegúrate de tener lo siguiente:

Instalando Ansible en Linux

El proceso de instalación de Ansible varía ligeramente dependiendo de la distribución de Linux que estés usando. Veamos algunos de los métodos más comunes:

Instalando Ansible en Ubuntu

Sigue estos pasos para instalar Ansible en Ubuntu:

  1. Primero, actualiza tu repositorio de paquetes usando el siguiente comando:
  2. sudo apt update
  3. Asegúrate de que las propiedades del software estén actualizadas para agregar el PPA:
  4. sudo apt install software-properties-common
  5. Agrega el repositorio PPA de Ansible:
  6. sudo add-apt-repository --yes --update ppa:ansible/ansible
  7. Actualiza la lista una vez más para incluir paquetes del nuevo repositorio de Ansible:
  8. sudo apt update
  9. Finalmente, instala Ansible:
  10. sudo apt install ansible
  11. Verifica la instalación comprobando la versión:
  12. ansible --version

Instalando Ansible en CentOS/RHEL

Si estás usando CentOS o Red Hat Enterprise Linux (RHEL), sigue estos pasos:

  1. Habilita el repositorio EPEL, que contiene paquetes adicionales para Enterprise Linux:
  2. sudo yum install epel-release
  3. Instala Ansible usando yum:
  4. sudo yum install ansible
  5. Verifica la versión de Ansible para confirmar la instalación:
  6. ansible --version

Instalando Ansible en Fedora

Para los usuarios de Fedora, el proceso es bastante similar:

  1. Usa el gestor de paquetes dnf para instalar Ansible:
  2. sudo dnf install ansible
  3. Después de la instalación, verifica la versión para asegurarte de que esté configurada correctamente:
  4. ansible --version

Configuración básica de Ansible

Después de instalar Ansible, el siguiente paso es configurarlo. Ansible utiliza SSH para comunicarse con los servidores remotos. Necesitas configurar el acceso SSH a las máquinas host que gestionarás a través de Ansible.

Configurando claves SSH

  1. Genera un par de claves SSH (si no lo has hecho ya):
  2. ssh-keygen
  3. Copia la clave pública SSH al host remoto (reemplaza <user> y <host> con el usuario y direcciones del servidor actuales):
  4. ssh-copy-id <user>@<host>
  5. Prueba la conexión SSH:
  6. ssh <user>@<host>

Configurando un archivo de inventario

El archivo de inventario de Ansible lista los hosts y grupos de hosts que Ansible ha sido instruido para gestionar. Por defecto, se encuentra en /etc/ansible/hosts.

  1. Edita el archivo de hosts:
  2. sudo nano /etc/ansible/hosts
  3. Agrega tu host remoto (reemplaza <hostname> y <IP> con tus propios valores):
  4. [webservers]<hostname> ansible_host=<IP>[dbservers]<hostname> ansible_host=<IP>
  5. Guarda el archivo y sal.

Entendiendo los Playbooks de Ansible

Los playbooks de Ansible son archivos que contienen una serie de tareas que Ansible seguirá. Están escritos en formato YAML, que es fácil de leer y entender. Aquí tienes una estructura básica de un playbook de Ansible:

--- 
- name: Asegurar que Apache está instalado 
  hosts: webservers 
  tasks: 
    - name: Instalar Apache 
      apt: 
        name: apache2 
        state: present

En el ejemplo anterior:

Usando Módulos de Ansible

Los módulos de Ansible son los bloques de construcción para crear playbooks de Ansible. Cada módulo es un script autónomo que Ansible ejecuta uno a la vez. Los módulos se pueden usar para gestionar hardware, configuración del sistema operativo y más.

Módulos comúnmente usados

Ejemplo de uso del módulo apt en un playbook:

- name: Instalar Apache 
  hosts: webservers 
  tasks: 
    - name: Instalar paquete Apache 
      apt: 
        name: apache2 
        state: latest

Ejecutando el Playbook de Ansible

Una vez que hayas escrito el playbook, necesitas ejecutarlo para automatizar las tareas que deseas en tu servidor. Para ejecutar el playbook:

  1. Guarda el playbook con la extensión de archivo .yml.
  2. Usa este comando para ejecutar el playbook (reemplaza playbook.yml con el nombre de archivo de tu playbook):
  3. ansible-playbook playbook.yml
  4. Monitoriza la salida para detectar cualquier error o ejecución exitosa.

Ejemplo de ejecución de un playbook

Supongamos que has creado un playbook llamado setup_web.yml con el siguiente contenido:

- name: Configurar servidor web 
  hosts: webservers 
  become: true 
  tasks: 
    - name: Instalar Apache 
      apt: 
        name: apache2 
        state: present 
    - name: Iniciar Apache 
      service: 
        name: apache2 
        state: started

Ejecútalo así:

ansible-playbook setup_web.yml

Después de ejecutarlo, Ansible instala Apache y inicia su servicio en todos los hosts listados bajo el grupo webserver en tu archivo de inventario.

Gestionando roles de Ansible

Para gestionar sistemas más complejos, los roles de Ansible te permiten organizar los playbooks en componentes reutilizables. Los roles te permiten dividir un playbook en varios archivos más pequeños que pueden mantenerse más fácilmente. Los roles típicamente contienen tareas, manejadores, plantillas, variables y archivos, organizados en una estructura específica.

Creando y usando roles

  1. Crea un nuevo rol usando la herramienta de línea de comandos:
  2. ansible-galaxy init <rolename>
  3. Esto creará una estructura de directorios para el rol bajo /roles que contiene directorios para tareas, manejadores, etc.
  4. Agrega tus tareas y playbooks a la estructura creada.
  5. Referencia el rol en tu playbook:
  6. - hosts: webservers 
      roles: 
        - <rolename>

Esto hará que las funciones definidas en el rol se apliquen al host especificado.

Solucionando problemas comunes

Algunos problemas comunes que puedes encontrar al trabajar con Ansible incluyen:

Conclusión

Ansible es una herramienta versátil para automatizar la provisión, configuración y gestión de servidores y aplicaciones. Con su vasta colección de módulos y playbooks fáciles de entender escritos en YAML, Ansible se convierte en una herramienta indispensable en el kit de herramientas de un administrador de TI. Siguiendo los pasos mencionados, los profesionales pueden instalar fácilmente Ansible utilizando un gestor de paquetes de Linux, configurarlo fácilmente y automatizar tareas en toda su infraestructura con playbooks y roles.

Si encuentras algo incorrecto en el contenido del artículo, puedes


Comentarios