¿Qué es un inventario en Ansible?

Autor: | Última modificación: 23 de marzo de 2022 | Tiempo de Lectura: 4 minutos
Temas en este post:

Un inventario en Ansible Automation Plataform hace referencia a un fichero que se encarga de describir los host y los grupos, así como coleccionar las máquinas y nodos de una manera organizada. Esto implica que todo lo que vaya a ser gestionado y configurado por el usuario necesita estar registrado en uno o varios ficheros.

Además de listar los equipos, el también llamado Ansible inventory permite agrupar y definir variables, lo que simplifica sus procesos de tratamiento y gestión.

Una vez que el usuario establece uno o más inventarios, puede iniciar el proceso de gestión de todos los dispositivos de una manera cómoda y sencilla a través de la selección del equipo o grupo de equipos sobre los que se quiere trabajar.

Características de un inventario en Ansible

Los sistemas listados en los archivos enumerados de Ansible se utilizan para ayudar en el funcionamiento de múltiples sistemas en la infraestructura del usuario. Además, estos elementos se encuentran almacenados de forma predeterminada en la ubicación /etc/ansible/hosts.

El usuario también tiene la posibilidad de especificar un archivo de inventario diferente, a través del uso de la opción -i <path> en la línea de comandos.

Además de esto, un inventario en Ansible puede ser configurado mientras permite el uso de varios archivos de inventario al mismo tiempo, así como extraer inventarios de fuentes dinámicas.

Los archivos de inventario en Ansible pueden estar en diferentes tipos de formato, dependiendo de los complementos de inventario que contenga. Algunos de estos formatos son:

  • YAML: es un formato de declaración y serialización de datos que le facilita al usuario la capacidad de escritura y su legibilidad. También se encarga de almacenar archivos de configuración.
  • INI: es una extensión de archivos que denotan ficheros de configuración usados en las diferentes aplicaciones de los sistemas operativos de tipo Windows y otros programas en el entorno de GNU/Linux.

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Conceptos básicos de un inventario en Ansible

Algunos de los términos clave para comprender el funcionamiento de un inventario en Ansible son:

Grupos

Todos los dispositivos forman parte de al menos dos grandes grupos. Los grupos asignados por defecto son: all, que se encarga de incluir a todos los equipos, y ungrouped, que incluye todos los hosts que no tienen un grupo diferente al de all. Aunque estos grupos están asignados de forma predeterminada, pueden ser implícitos y no incluirse dentro de las listas de grupo, como, por ejemplo, group_names.

Un host también puede formar parte de otro grupo que haya sido definido por el usuario; en ese caso, no se incluirá el grupo predeterminado ungrouped.

Además, las máquinas pueden agruparse en función de múltiples criterios, como el sistema operativo que tengan, el servicio que ofrecen, la ubicación o red en donde se encuentre o el estado en el que se encuentre. Del mismo modo, el usuario tiene la posibilidad de crear grupos dentro de otros grupos, lo que se conoce como grupos anidados, y se pueden agrupar utilizando rangos de equipos o hosts de tipo numérico o alfabético con el objetivo de ahorrar tiempo de trabajo en el sistema. También es posible asignar más de un grupo a cada host.

Variables

La variables en Ansible son las herramientas utilizadas para gestionar las diferencias entre los sistemas. Además, el usuario puede almacenar valores de variables que se relacionan con un host o un grupo determinado en un inventario en Ansible. De esta manera, se permite agregar diferentes variables de forma directa sobre los hosts y los grupos en su archivo de inventario principal. En el caso de que el usuario lo quiera, también puede almacenar las variables en archivos separados. Estas variables pueden asignarse a un solo host para después utilizarlas en un playbook.

Los inventarios en Ansible también permiten una estructura de organización diferente, donde se separen hosts y variables, dependiendo de las necesidades de cada usuario.

Tipos de inventarios en Ansible

Los inventarios en Ansible pueden dividirse en dinámicos y estáticos. Los inventarios estáticos son los archivos de texto sin formato que incluyen una lista de hosts en un grupo administrado a través de nombres de hosts o direcciones IP.

Mientras tanto, un inventario dinámico hace referencia a la lista de host que se obtiene a partir de un script y su devolución al comando Ansible en el formato que sea requerido. Dentro de sus funciones se incluye realizar un seguimiento de host de fuentes como proveedores de la nube, el Lightweight Directory Access Protocol (LDAP) o Protocolo Ligero de Acceso a Directorio, así como el servidor de aprovisionamiento Cobbler y otros sistemas CMDB de tipo empresarial.

Un inventario en Ansible de tipo dinámico presenta la ventaja de reducir el error humano debido a la recopilación de la información a través de scripts. Además, requiere de un esfuerzo mínimo en el proceso de gestión de inventarios.

¿Cuál es el siguiente paso?

En este artículo has podido aprender qué es un inventario en Ansible y cuáles son sus características principales y conceptos básicos, así como los tipos de inventarios que existen. Ahora, no dudes en continuar tu proceso de formación a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde en menos de 6 meses podrás convertirte en un experto en esta y otras herramientas del software de Ansible Automation Platform, lo que te ofrecerá una ventaja frente a tus competidores del mundo tecnológico. Además, podrás formarte en metodologías que facilitarán la mejora y la aceleración de tus procesos de desarrollo.

[email protected]