Macklus.Net

Macklus.Net


For fun and profit

Categorías


Conceptos básicos de Ansible

macklusmacklus

You can also read this entry in english by clicking here.

Ansible es una plataforma de software libre para configurar y administrar computadoras. Basado en Python, permite conectar en paralelo a múltiples servidores (vía SSH), e implementar en ellos las configuraciones que hayamos definido.

¿Qué podemos hacer con Ansible?

En resumen, cualquier cosa que se puede hacer desde un shell script ejecutado por SSH. Hay que tener en cuenta que Ansible no funcionará bien si tenemos que esperar a que nos pregunten para enviar la información (por ejemplo con el comando passwd).

¿Cómo funciona?

Para funcionar, Ansible necesita 4 cosas:

Por ejemplo, podemos usar Ansible para gestionar los servidores web1, web2 y correo1, crear el grupo web para los servidores web1 y web2, y el grupo correo para el servidor correo1, y después crear una lista de tareas tal que:

Si mañana añadimos un nuevo servidor de correo, con añadirlo al grupo correo y ejecutar Ansible de nuevo, se instalará la misma configuración que en el servidor correo1. También podemos definir variables para instalar una versión de PHP distinta en el servidor web2

Si este ejemplo os parece fácil, entender Ansible se reduce a entender sus nombres:

¿ Dónde puedo encontrar roles de Ansible ?

Ansible nos ofrece Ansible Galaxy, un repositorio de roles de Ansible donde cualquier puede aportar los roles que haya creado, donde podemos encontrar roles para practicamente cualquier tipo de tarea que queramos realizar.

Si queremos instalar un role, solo tendremos que ejecutar el comando ansible-galaxy. Por ejemplo, para instalar un servidor ntp, podríamos ejecutar:

ansible-galaxy install geerlingguy.ntp

Una plántilla para empezar con Ansible

Para poder empezar a trabajar con Ansible, he creado una plantilla de Ansible preconfigurada y documentada, con la que podréis empezar a trabajar en cuestión de minutos.

La podéis encontrar en:

https://github.com/macklus/ansible-template
macklus
Author