Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

La importancia de paralelizar en Ansible

Mario Pérez
  • Escrito por Mario Pérez el 16 de Noviembre de 2017
  • 1 min de lectura | DevOps
La importancia de paralelizar en Ansible
El reproductor de video será cargado en breves instantes.

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 tareas
  • tasks, es el conjunto de Tareas a ejecutar.
  • Name, es donde indicamos el nombre del Playbook
  • Apt, instalamos el apache
  • Name: descripción que muestra al usuario que se está ejecutando la tarea
  • Service, 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.

Artículo desarrollado a partir del vídeo por Jhuly Acosta

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars