Los facts en Ansible son las variables descubiertas o derivadas de los nodos y elementos de la red remota , lo que incluye los sistemas operativos, las direcciones IP, los sistemas de archivo adjunto, la información del BIOS (Basic Input Output System) o sistema básico de entrada y salida, así como los datos del software y hardware, entre otros. Estas variables pueden ser utilizadas después para el control de flujo y la gestión de otras configuraciones.
Características de los facts en Ansible
Los facts en Ansible se detectan automáticamente desde un host administrado, aunque también pueden ser extraídos a través del módulo setup
, con el objetivo de recopilar datos antes de ejecutar el playbook de Ansible (Ansible playbook).
Esta herramienta contiene información de utilidad y de uso común, que se almacenan en variables que pueden ser utilizadas nuevamente por los administradores. Algunos ejemplos de los datos que incluyen los facts en Ansible son:
- Nombre del host: también conocido como hostname, es la forma en la que se nombra un dispositivo dentro de una red, y son utilizados como parte del FDQN (Fully Qualified Domain Name) en internet.
- Versión del kernel: hace referencia a la versión del núcleo del sistema operativo.
- Interfaz de tarjeta de red: es un elemento del hardware que se encarga de la adaptación de la red.
- Dirección IP: o IP address, es la dirección única que permite identificar un equipo en internet o en una red local.
- Versión del sistema operativo: indica el número de herramientas y funciones avanzadas que forman parte del sistema operativo.
- Variables de entorno: son las variables de tipo dinámica que influyen en el comportamiento de los procesos que se ejecutan en el ordenador.
- Números de núcleos de CPU: indican la capacidad de trabajo paralelo de la CPU del dispositivo.
- Memoria y disco disponible: hacen referencia a la capacidad de almacenamiento en la memoria y el disco de una máquina determinada.
Además de esto, los facts en Ansible se almacenan en el formato de intercambio de datos JSON o JavaScript Object Notation, una herramienta que facilita la lectura y la escritura para el usuario o programador y que puede utilizarse sin necesidad de analizar o serializar en JavaScript.
Además, pueden clasificarse en tres categorías principales: lista, diccionarios y textos inseguros de Ansible. El primero se encarga de almacenar la lista de información y se puede acceder a él a través del uso corchetes y especificando el índice. Los diccionarios, por su lado, almacenan los datos como una colección de pares de clave-valor. Y los textos inseguros no tienen subpartes, sino que guardan los datos de forma directa,
🔴 ¿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 semanaUsos de los facts en Ansible
Los ansible facts han adquirido gran popularidad dentro de la comunidad de programadores y administradores, debido a que los ayuda a gestionar los hosts, sincronizándose con ellos en tiempo real y actuando de acuerdo al estado actual del sistema, en lugar de tomar las decisiones sin tener una información clara acerca del estado del sistema. Esto les permite una mayor asertividad y disminuye el riesgo de errores humanos.
Además de esto, el uso de los facts en Ansible permite que el Ansible Automation Platform o software de Ansible funcione de una mejor manera, debido a que establece los parámetros acerca de cuándo realizar una determinada tarea y cuándo no.
Facts de Ansible y el comando Ad-Hoc
El comando Ad-Hoc en Ansible o Ad-Hoc commands es la herramienta de una sola línea que cumple con una tarea en el host de destino. Contiene los parámetros del número de host que realizará la tarea y el módulo de Ansible que la ejecutará.
Para acceder a los facts de Ansible a través de estos comandos, el usuario o administrador deberá utilizar el módulo de configuración o setup module, que obtiene los detalles provenientes del host remoto o remote hosts hacia los controller nodes (nodos de controlador), mostrándolos directamente sobre la pantalla y haciendo visible los facts para el usuario. Para este paso, es necesario ejecutar el comando ansible all -m setup
.
Después de esto, se deberá filtrar un valor específico de los facts en Ansible, utilizando el módulo de configuración para obtener los datos sobre el sistema. Además, se usará el filter argument para mostrar el valor de los datos. El comando a ejecutar será ansible all -m setup -a "filter=ansible_cmdline"
.
¿Cuál es el siguiente paso?
Ahora que ya conoces qué son los facts en Ansible y cuáles son sus características y usos principales, no dudes en continuar tu proceso de formación a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde podrás aprender todo lo necesario para convertirte en un experto en estos temas y destacar sobre tus competidores del sector IT. Da el siguiente paso e inscríbete en este bootcamp, que en tan solo 6 te permitirá formarte en metodologías que te ayudarán a mejorar y agilizar tus procesos de desarrollo tecnológico.