Como administrador de servidores, puedes olvidarte de una vez por todas el tener que realizar todos los días tareas repetitivas de forma individual en cada uno de los servidores que se tengan que administrar, como por ejemplo, configurar e instalar servidores, administrar los usuarios, actualizar servidores entre otras tareas, y lo mejor de todo es que no necesitamos instalar ningún agente, ni software remoto a excepción de Python, solo tener Ansible en tu máquina y listo.
Instalar Apache
Con estos comandos podríamos instalar un servidor Apache en cada nodo o servidor:
sudo apt-get install apache2
sudo service apache2 start
Hasta aquí vamos bien, pero ¿Qué sucede si deseamos instalar el Apache en 20, 50, 100 o n servidores?, resultaría tedioso tener que escribir el mismo comando en tantas máquinas ¿cierto? y no solo eso, tareas como configurar host virtuales o archivos de MySQL sería bastante complejo hacer la misma tarea una y otra vez en todos nuestros servidores.
Pero no se preocupen aquí es donde Ansible sale a relucir y nos ahorra hacer ese montón de tareas repetitivas, paralelizando de forma sencilla, es decir, no importa si tienes 8 o 1000 equipos que configurar, con Ansible puedes automatizar estas tareas y con un sola vez que ejecutes las tareas, éstas serán orquestadas en el conjunto de máquinas que definiste.
¿Qué es un Playbook?
Ahora bien, la forma de paralelizar es utilizando los Playbooks y ¿Qué es un Playbook? es dónde definimos todas las tareas que se deben ejecutar, en que máquinas se deben ejecutar, el orden de ejecución, y cabe destacar que el formato del Playbook es YAML.
Ejemplo de Playbook
Un ejemplo de Playbook es el siguiente:
---
- hosts: all
remote_user: root
tasks:
- name: Ensure Apache is at the latest version
apt: name=apache2 state=latest
- name: ensure apache is running
service: name=apache2 state=started enabled=yes
Algunas cosas importantes del ejemplo son:
hotst: all
, indica los grupos de hosts en que se va a ejecutar nuestro Playbook, en este caso se ejecutará en todos los hosts que tenemos.Remote_user
, es nuestro usuario remoto para ejecutar tareastasks
, es el conjunto de Tareas a ejecutar.Name
, es donde indicamos el nombre del PlaybookApt
, instalamos el apacheName
: descripción que muestra al usuario que se está ejecutando la tareaService
, iniciamos apache
Para ejecutar nuestro Playbook necesitamos el siguiente comando:
$ansible-playbook playbook.yaml
Con Ansible ahorramos tiempo, podemos ser más productivos y sin tanta complejidad.
Si eres administrador de sistemas, este curso gratuito te interesa para conocer la evolución natural que están siguiendo algunos profesionales como tú.
También puedes visitar el Centro de recursos, encontrarás las últimas guías, ebooks y webinars de programación, sistemas y gestión de talento IT.