Ir al contenido principal

Introducción a Ansible

Ansible es una herramienta que permite Automatizar todas las tediosas y repetitivas tareas con que nos encontramos los administradores de sistema, como por ejemplo:
  • Configurar el computador para el nuevo
  • Instalar, configurar e ingresar los nuevos servidores al dominio
  • Administrar los usuarios de la VPN, y borrar los que ya no existen
  • Preparar las nuevas 38 VMs para el proyecto E-Commerce, las que deben estar creadas para mañana en Amazon AWS y RackSpace. Además de las de desarrollo en la plataforma Proxmox VE
Ufff, como que nos fuimos lejos con esa última. Pero , Ansible permite automatizar todo esto.

Como funciona Ansible

Una de las gracias de Ansible frente a la competencia es que no tienes que instalar ni Agentesni Servidores. Sólo instalar ansible en tu máquina y estás listo para comenzar.
Ansible se conecta a los equipos que quieras configurar utilizando SSH y le envía las instrucciones que quieres ejecutar y las configuraciones que se deben aplicar.
Todo esto en paralelo, así que no importa si tienes 5 o 2 mil equipos que configurar.

Instalación de Ansible

La forma más fácil es utilizar el administrador de paquetes de tu sistema operativo.
1
2
3
4
5
6
7
8
 # RedHat y Clones
 $ yum install ansible

 # Debian y Clones
 $ apt-get install ansible

 # En Mac Os X con Homebrew
 $ brew install ansible

Trabajando con Ansible

El Inventario

Ansible trabaja con un Inventario de tu plataforma o servidores. Este Inventario es un archivo en el cual agrupas y listas los servidores según más te acomode:
1
2
3
4
5
 # Archivo hosts.cfg de inventario
 [dbs]
 db1.example.com
 db2.example.com
 db3.example.com
El archivo hosts.cfg contiene un grupo de servidores: dbs el cual tiene 3 servidores. Este es un Inventario sencillo, el de tu empresa puede ser mucho más complejo y también es posible hacer que se creen sólos.

Ejecutando comandos sencillos

El primer comando que vamos a usar, nos va a permitir comprobar que tenemos acceso a los clientes:
1
$ ansible -i hosts.cfg -m ping all
Otro ejemplo, para revisar la memoria disponibles en todos los servidores:
1
$ ansible -i hosts.cfg all -m shell -a 'free -m' -U root
Como vez en los dos ejemplos indicamos cual es el archivo Inventario que vamos a usar: -i hosts.cfg. Y en el último indicamos cual es el usuario con el que nos conectamos: -U root. Recuerda que la conexión se realiza con SSH.
Otro ejemplo que puede ser útil: Aplicar la actualización de Hora a todos los servidores, vamos a suponer que son del tipo Red Hat:
1
$ ansible -i hosts.cfg all -m yum -a "name=tzdata state=latest"
Del comando es importante notar lo siguiente:
  • -i hosts.cfg all, indica que se debe usar el inventario hosts.cfg y que se ejecutará en todos los servidores: all
  • -m yum, indica que módulo de ansible usaremos. Anteriormente ejecutamos comandos usando el módulo shell, ahora que queremos instalar un paquete, usamo yum.
  • -a "name=tzdata state=latest", son los parámetros que recibe el módulo. En este caso el nombre del paquete: name=tzdata, y el estado que debe tener: state=latest, en este caso que esté instalada la última versión.
En la documentación de Ansible puedes encontrar el listado completo de módules disponibles, y como se usan.

Comentarios

Entradas más populares de este blog

10 excelentes webs para aprender nuevos idiomas gratis

¿Te gustaría aprender un nuevo idioma? Ahora no tienes que invertir tanto tiempo y dinero, con estas webs para aprender idiomas ya no hay pretexto. Luis Molinero | Shutterstock Actualmente,  hablar más de un  idioma  no es un lujo, es una necesidad . Las exigencias globales del mundo en el que vivimos requieren de nuevas competencias de comunicación y por ello, es fundamental que las personas podamos comunicarnos en más de un idioma. Por ejemplo,  el inglés, aunque no es el idioma más hablado, es considerado el idioma universal , razón por la cual, muchas veces, se da por sentado que todos lo conocemos, lo que puede hacernos pasar más de alguna vergüenza. Entre los  hispanohablantes , aprender inglés no era una tarea sencilla, quizás por la cuestión de la pronunciación, pero hoy ya no tiene porque ser así. Y es que aprender un nuevo idioma nos abre las puertas a nuevos mundos, a nuevas oportunidades de empleo y a nuevas relaciones personales. Si esto ...

7 aplicaciones para gestionar proyectos de forma eficiente

¿Estás trabajando en equipo pero todo es un caos? entonces deberías probar estas aplicaciones para gestionar proyectos que te ayudarán a organizarlo todo. Shutterstock Sin duda  trabajar en equipo  es una tarea que generalmente se nos complica debido a problemas de comunicación, sincronización de tiempos, bajo presupuesto o falta de organización, lo que repercute en el resultado final o en la calidad del trabajo realizado. Afortunadamente ya no tiene que ser así. La tecnología ha permitido que hoy en día tengamos muchas herramientas digitales de donde escoger. Éstas nos permiten estar a cargo de tareas y administrar nuestro tiempo para  trabajar con otras personas sin necesidad de estar físicamente en un lugar . A este tipo de herramientas se le conoce como  aplicaciones de gestión de proyectos  y hoy te traemos las mejores opciones que existen para que puedas empezar a organizar tus tareas. Trello Trello  es la aplicación por defecto...

3 tácticas para gestionar el tiempo que te ayudarán a aumentar tu productividad

Uno de los grandes problemas que tenemos y del que no siempre somos conscientes los profesionales de marketing online es que  necesitamos pautas para gestionar nuestro tiempo y ser más eficientes . De nada sirve ocupar buena parte de tu jornada leyendo las últimas novedades y actualizaciones si no te queda tiempo para ponerlas en práctica. Trabajar con información no es fácil Hoy me gustaría explicarte  3 reglas de oro  que te ayudarán a ser mucho más productivo en todo lo que hagas y a  eliminar bloqueos mentales , que muchas veces es el  verdadero problema encubierto de la gestión del tiempo . # 1. Simplifica Simplificar es una cuestión de prioridades . ¿Cuántas horas pasas delante del ordenador atendiendo las tareas menos importantes mientras las importantes las retrasas un día tras otro hasta que dejan de serlo? Por ejemplo, te conectas a Facebook o Twitter en cuanto recibes una notificación, respondes al email que acaba de llegar, buscas conten...