Empezar con Ansible
¿Qué es Ansible?
Ansible es una herramienta de automatización de código abierto que te permite automatizar tareas de TI, como la gestión de configuraciones, la implementación de aplicaciones y el aprovisionamiento de infraestructura. No requiere agentes, lo que significa que no es necesario instalar ningún software adicional en los sistemas objetivo. En su lugar, Ansible se comunica con los sistemas objetivo utilizando los protocolos SSH (Secure Shell) o WinRM (Windows Remote Management).
¿Por qué usar Ansible?
Ansible ofrece varios beneficios en comparación con los enfoques tradicionales de gestión manual de TI:
- Simplicidad: Ansible utiliza un lenguaje sencillo y legible por humanos llamado YAML (YAML Ain't Markup Language) para definir sus tareas de automatización, lo que lo hace fácil de aprender y usar.
- Arquitectura sin agentes: Ansible no requiere la instalación de software adicional en los sistemas objetivo, lo que reduce la complejidad y la sobrecarga de la implementación.
- Idempotencia: Las tareas de Ansible están diseñadas para ser idempotentes, lo que significa que se pueden ejecutar varias veces sin causar cambios no deseados.
- Escalabilidad: Ansible se puede utilizar para gestionar un gran número de sistemas, desde unos pocos hasta miles, sin una sobrecarga significativa.
- Flexibilidad: Ansible es compatible con una amplia gama de plataformas, incluyendo Linux, Windows, macOS y proveedores de servicios en la nube, lo que lo convierte en una herramienta de automatización versátil.
Instalación de Ansible
Para comenzar a usar Ansible, necesitarás instalarlo en un nodo de control (el sistema desde el cual ejecutarás tus comandos de Ansible). Así es como puedes instalar Ansible en un sistema Ubuntu 22.04:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible
Una vez que Ansible esté instalado, puedes verificar la instalación ejecutando el siguiente comando:
ansible --version
Esto debería mostrar la versión de Ansible instalada en tu sistema.
Conexión a los hosts objetivo
Ansible se comunica con los hosts objetivo (los sistemas que deseas automatizar) utilizando SSH. Para conectarte a un host objetivo, debes asegurarte de que el nodo de control pueda acceder al host objetivo a través de SSH. Puedes utilizar claves SSH o contraseñas para autenticarte con el host objetivo.
A continuación, se muestra un ejemplo de cómo conectarse a un host objetivo utilizando claves SSH:
- Genera un par de claves SSH en el nodo de control:
ssh-keygen
- Copia la clave pública al host objetivo:
ssh-copy-id user@target_host
- Verifica la conexión ejecutando el siguiente comando:
ansible all -m ping -i target_host,
Este comando enviará un ping a todos los hosts objetivo especificados en el archivo de inventario (en este caso, un solo host target_host
).
Ahora que tienes Ansible instalado y puedes conectarte a los hosts objetivo, estás listo para comenzar a automatizar tus tareas de TI utilizando playbooks de Ansible.