Ansible - Introducción

Ansible es un motor de TI de código abierto simple que automatiza la implementación de aplicaciones, la orquestación dentro del servicio, el aprovisionamiento en la nube y muchas otras herramientas de TI.

Ansible es fácil de implementar porque no utiliza agentes ni infraestructura de seguridad personalizada.

Ansible usa un libro de jugadas para describir trabajos de automatización, y el libro de jugadas usa un lenguaje muy simple, es decir YAML(Es un lenguaje de serialización de datos legible por humanos y se usa comúnmente para archivos de configuración, pero podría usarse en muchas aplicaciones donde se almacenan datos) que es muy fácil de entender, leer y escribir para los humanos. Por lo tanto, la ventaja es que incluso los chicos de soporte de infraestructura de TI pueden leer y comprender el libro de jugadas y depurar si es necesario (YAML: está en forma legible por humanos).

Ansible está diseñado para una implementación de varios niveles. Ansible no administra un sistema a la vez, modela la infraestructura de TI al describir que todos sus sistemas están interrelacionados. Ansible no tiene agentes, lo que significa que Ansible funciona conectando sus nodos a través de ssh (de forma predeterminada). Pero si desea otro método de conexión como Kerberos, Ansible le ofrece esa opción.

Después de conectarse a sus nodos, Ansible empuja pequeños programas llamados "Módulos Ansible". Ansible ejecuta esos módulos en sus nodos y los elimina cuando termina. Ansible administra su inventario en archivos de texto simples (estos son el archivo de hosts). Ansible utiliza el archivo de hosts donde se pueden agrupar los hosts y controlar las acciones en un grupo específico en los libros de jugadas.

Archivo de hosts de muestra

Este es el contenido del archivo de hosts:

#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.

[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh

[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh

¿Qué es la gestión de la configuración?

La gestión de la configuración en términos de Ansible significa que mantiene la configuración del rendimiento del producto manteniendo un registro y actualizando la información detallada que describe el hardware y software de una empresa.

Esta información generalmente incluye las versiones exactas y las actualizaciones que se han aplicado a los paquetes de software instalados y las ubicaciones y direcciones de red de los dispositivos de hardware. Por ejemplo, si desea instalar la nueva versión deWebLogic/WebSphere servidor en todas las máquinas presentes en su empresa, no es factible que vaya y actualice manualmente todas y cada una de las máquinas.

Puede instalar WebLogic / WebSphere de una sola vez en todas sus máquinas con los libros de jugadas y el inventario de Ansible escritos de la manera más sencilla. Todo lo que tiene que hacer es enumerar las direcciones IP de sus nodos en el inventario y escribir un libro de jugadas para instalar WebLogic / WebSphere. Ejecute el libro de jugadas desde su máquina de control y se instalará en todos sus nodos.

¿Cómo funciona Ansible?

La imagen que se muestra a continuación muestra el funcionamiento de Ansible.

Ansible works conectándose a sus nodos y lanzando pequeños programas, llamados "Ansible módulos "para ellos. Ansibleluego ejecuta estos módulos (a través de SSH por defecto) y los elimina cuando termina. Su biblioteca de módulos puede residir en cualquier máquina y no se requieren servidores, demonios o bases de datos.

El nodo de gestión en la imagen de arriba es el nodo de control (nodo de gestión) que controla la ejecución completa del libro de jugadas. Es el nodo desde el que está ejecutando la instalación. El archivo de inventario proporciona la lista de hosts donde se deben ejecutar los módulos Ansible y el nodo de administración realiza una conexión SSH y ejecuta los módulos pequeños en la máquina host e instala el producto / software.

Beauty de Ansible es que elimina los módulos una vez que están instalados de manera tan efectiva que se conecta a la máquina host, ejecuta las instrucciones y, si se instala correctamente, elimina el código que se copió en la máquina host que se ejecutó.