Ansible para principiantes: conceptos básicos de Ansible y cómo funciona

¿Escuchó sobre Ansible pero no está seguro de qué es? No se preocupe, conocerá Ansible en los próximos 5 minutos.

¿Qué es Ansible?

Ansible es una herramienta DevOps de código abierto que puede ayudar a la empresa en la gestión de la configuración, la implementación, el aprovisionamiento, etc. Es fácil de implementar; aprovecha SSH para comunicarse entre servidores. Utiliza el libro de jugadas para describir los trabajos de automatización, y el libro de jugadas usa un lenguaje YAML muy simple.

Ansible proporciona confiabilidad, consistencia y escalabilidad a su infraestructura de TI. Puede automatizar configuraciones de bases de datos, almacenamiento, redes, firewalls usando Ansible. Se asegura de que todos los paquetes necesarios y todo el resto del software sean consistentes en el servidor para ejecutar la aplicación.

Tomemos un ejemplo; tienes una versión de depuración de una aplicación que se basa en Visual C++. Ahora, si desea ejecutar esa aplicación en una computadora, deberá cumplir con algunos requisitos previos, como las DLL de la biblioteca de Microsoft Visual C ++, y necesitará que Visual C ++ esté instalado en su computadora. Entonces, esta es la parte en la que Ansible se asegurará de que todos estos paquetes básicos y todo el software estén instalados en su computadora para que su aplicación pueda ejecutarse sin problemas en todos los entornos, ya sea un entorno de prueba o de producción.

También contiene todos los datos históricos de su aplicación, por lo que si en algún momento desea volver a la versión anterior o desea actualizarla, puede hacerlo fácilmente.

Echemos un vistazo a algunas de las siguientes características.

Sin agente: lo que significa que no hay ningún tipo de software ni ningún agente que administre el nodo como otras soluciones, como títeres y chef.

Python: construido sobre python, que es rápido y uno de los lenguajes de programación robustos del mundo actual.

SSH: protocolo de autenticación de red sin contraseña muy simple que es seguro. Entonces, su responsabilidad es copiar esta clave al cliente.

Empuje la arquitectura: envíe las configuraciones necesarias a ellos, clientes. Todo lo que tiene que hacer es anotar esas configuraciones (libro de jugadas) y enviarlas todas a la vez a los nodos. Verá lo poderoso que puede ser enviar los cambios a miles de servidores en minutos.

Configuración: un requisito mínimo y la configuración necesaria para que funcione.

Arquitectura Ansible

Comencemos con la nube pública/privada, que es el servidor Linux. También puede actuar como un repositorio para todas las instalaciones y configuraciones de TI.

La arquitectura anterior tiene un montón de máquinas host a las que se conecta el servidor ansible y empuja los libros de jugadas a través de SSH.

Tiene un motor de automatización ansible mediante el cual los usuarios pueden ejecutar directamente un libro de jugadas que se implementa en los hosts. Hay varios componentes en el motor de automatización ansible. El primero es un inventario de host. Es una lista de todas las direcciones IP de todos los hosts.

A continuación, hay módulos. Ansible viene con cientos de módulos incorporados y los módulos son esas piezas de código que se ejecutan cuando ejecuta un libro de jugadas. Un libro de jugadas contiene jugadas, una jugada contiene diferentes tareas y una tarea incluye módulos.

Cuando ejecuta un libro de jugadas, son los módulos los que se ejecutan en sus hosts, y estos módulos contienen acción en ellos. Entonces, cuando ejecuta un libro de jugadas, esa acción se lleva a cabo en sus máquinas host. También puede hacer sus módulos personalizados. Todo lo que debe hacer es escribir unas pocas líneas de código y convertirlo en su módulo, y puede ejecutarlo en cualquier momento que desee.

Entonces la arquitectura tiene libros de jugadas. Los libros de jugadas aquí realmente definen su flujo de trabajo porque cualquier tarea que escriba en un libro de jugadas, se ejecuta en el mismo orden en que las escribió. Por ejemplo, si ha escrito que instale un paquete primero y luego inicie, hará lo mismo. Los libros de jugadas son muy fáciles de escribir en código YAML. El código YAML es un lenguaje de serialización de datos muy simple; es bastante parecido al inglés.

A continuación, en la arquitectura están los complementos. Los complementos aquí son un tipo especial de módulos. Estos complementos se ejecutan antes de que se ejecute un módulo en los nodos. Los complementos se ejecutan en la máquina de control principal con fines de registro. Tiene complementos de devolución de llamada porque esto le permite conectarse a diferentes eventos ansible para fines de visualización y registro. Los complementos de caché se utilizan para mantener un caché de datos para evitar costosas operaciones de recopilación de datos. Ansible también tiene complementos de acción, que son módulos front-end, y pueden ejecutar tareas en la máquina del controlador antes de llamar a los módulos.

La arquitectura tiene complementos de conexión. No siempre es necesario usar un SSH para conectarse con sus máquinas host; también puede utilizar un complemento de conexión. Por ejemplo, ansible le proporciona un complemento de conexión de contenedor Docker y, al usar ese complemento de conexión, puede conectarse fácilmente a todos sus contenedores Docker y comenzar a configurar de inmediato.

Eso fue todo sobre la arquitectura. A continuación, déjame decirte cómo funciona exactamente.

¿Cómo funciona Ansible?

Ansible funciona conectándose a nodos y sacando pequeños programas llamados módulos ansible. Luego, Ansible ejecuta estos módulos a través de SSH de manera predeterminada y luego los elimina cuando termina.

El nodo de administración de Ansible es el nodo de control, que controla toda la ejecución del Playbook. Es el nodo desde el que está ejecutando la instalación, y el archivo de inventario proporciona la lista del host donde se deben ejecutar los módulos. El nodo de administración realiza una conexión ssh y luego ejecuta los módulos en las máquinas host e instala el producto. Elimina los módulos una vez instalados. Así es como funciona ansible.

A continuación, puede interesarle aprender a instalar y configurar Ansible.

Conclusión

Espero que ahora tenga una idea sobre Ansible para comenzar. Ansible es un cambio de juego en la forma en que administra la infraestructura y, si es administrador de sistemas o desarrollador, puede consultar esto la formación práctica para avanzar en las habilidades.