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

Selfies en 3D llegan a Venezuela y hasta las podrás imprimir en plástico

La empresa 3DUP lanzó al mercado venezolano las líneas de impresoras 3D,  Cube3  y CubePro  de 3D Systems Corporation, a través de las cuales se podrán imprimir modelos, diseños o escaneos en 3D. De igual manera, también está disponible el servicio de selfie3D y el servicio de modelado 3D. La impresora Cube3 tiene dos cabezales de impresión y es única en su clase, posee una amplia combinación de materiales ABS, PLA y una variedad de 18 colores. Es el equipo más fácil de utilizar en el mercado y tiene un software de construcción apto para Windows y Mac; además cuenta con conexión wifi. La nueva CubePro, impresora 3D de calidad profesional ofrece el mayor volumen de impresión entre las impresoras de su clase, sus versiones cuentan con uno, dos o tres cabezales de impresión. Además, posee una amplia combinación de materiales ABS, PLA y Nylon con una variedad de 25 colores, cuenta con una cámara calefaccionada y cerrada para optimizar los trabajos de impresión 3D. P...

Solución al problema “sudo: command not found” en Linux

Al instalar una distribución GNU/Linux, lo primero que se suele hacer es ejecutar los siguientes comandos de actualización del sistema: Terminal 1 2 sudo apt - get update sudo apt - get upgrade Sin embargo, en Debian nos encontraremos con el problema de que el comando sudo  no se encuentra. Esto depende de cómo hayamos realizado el proceso de instalación, ya que si se especifica una contraseña para el usuario  root  durante la instalación,  sudo  no será instalado por defecto. Por el contrario, si no se especifica una contraseña, sí se instalará. En caso de obtener el error  “sudo: command not found” , debemos realizar los siguientes pasos para solucionar esta situación. 1. Cambiar al usuario root Desde la terminal, introducimos el comando  su  para hacer el login con el usuario  root . Pedirá una contraseña, que será la que hayamos especificado en el proceso de instalación...

CÓMO RECUPERAR UN ARCHIVO DE VÍDEO EN LINUX

Paso 1:   Com probam os  que existe información en el archivo Parece lógico, pero por si acaso, lo incluyo como primer paso. Como veis, en mi caso el archivo ocupa 271,1MB (lo que significa que  la información está ahí, pero no podemos verla porque se ha guardado de forma incorrecta ). A continuación,  instalamos  Untrunc . Os indico  cómo hacerlo en los próximos pasos , es muy sencillo. Las instrucciones detalladas se encuentran en el  Readme  del  repositorio de Ponchio . Leedlas si usáis otro SO que no sea Ubuntu. Paso 2: Instalamos una serie de librerías  Libav  con el comando: Terminal Shell 1 sudo apt - get install libavformat - dev libavcodec - dev libavutil - dev Si usas otro SO que no sea Ubuntu (o una versión antigua de este), quizás debas instalar manualmente Libav. Paso 3: Descargamos el código fuente de  Untrunc , desde Github: Terminal ...