0Pricing
DevOps Bootcamp · Lección

Usar ansible_facts en las tareas

Cree ramificaciones según datos del sistema operativo, la memoria y la IP.

Usar ansible_facts en las tareas es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

De los datos a las decisiones

Los facts recopilados solo son útiles si actúa basándose en ellos. Ahora extraerá valores de ansible_facts directamente en sus tareas. 🌟

Hacer referencia a un fact

Use la misma sintaxis {{ }} que con cualquier variable. Dentro de las llaves, indique el nombre del fact que desea, como distribution del host.

- debug:
    msg: "OS is {{ ansible_distribution }}"

También puede acceder al diccionario

También puede leer los facts mediante el diccionario ansible_facts, usando claves entre corchetes. Ambos estilos apuntan a los mismos datos.

{{ ansible_facts['distribution'] }}

Tomar decisiones según el sistema operativo

Combine un fact con when para ejecutar una tarea únicamente en los hosts correspondientes, como instalar un paquete solo en sistemas Debian.

when: ansible_os_family == "Debian"

Elegir el paquete adecuado

Los facts permiten que una sola tarea funcione con muchas distribuciones. Elija apache2 o httpd según la familia del sistema operativo en lugar de escribir dos playbooks.

name: "{{ 'apache2' if ansible_os_family == 'Debian' else 'httpd' }}"

Usar facts numéricos

Facts como ansible_memtotal_mb son números, por lo que puede compararlos y omitir trabajo en hosts con recursos insuficientes.

when: ansible_memtotal_mb > 2048

Acceder a valores anidados

Para los facts anidados, encadene las claves con puntos. La dirección IPv4 predeterminada se encuentra bajo ansible_default_ipv4 y después bajo address.

{{ ansible_default_ipv4.address }}

Facts en plantillas

Los mismos nombres de fact funcionan dentro de las plantillas Jinja2. Inserte el hostname o la IP de un host directamente en un archivo de configuración generado.

server_name {{ ansible_hostname }};

Recorrer facts de tipo lista

Algunos facts son listas, como ansible_interfaces. Puede recorrerlas para actuar sobre cada interfaz de red que tenga un host.

loop: "{{ ansible_interfaces }}"

Confirmar antes de confiar

¿No está seguro del valor exacto de un fact? Imprímalo primero con debug y, después, construya la lógica que depende de él.

- debug:
    var: ansible_distribution_version

Un playbook, muchos hosts

Como los facts son específicos de cada host, las tareas basadas en facts hacen que un solo playbook se comporte correctamente en un conjunto heterogéneo de máquinas.

Comprobación rápida

¿Cómo ejecutaría una tarea únicamente en hosts de la familia Debian?

Resumen

Leyó facts con {{ }}, tomó decisiones con when, accedió a valores anidados y recorrió facts de tipo lista para crear tareas adaptables. ✨

Preguntas frecuentes

¿La lección «Usar ansible_facts en las tareas» es gratis?

Sí — el texto completo de «Usar ansible_facts en las tareas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Usar ansible_facts en las tareas»?

Cree ramificaciones según datos del sistema operativo, la memoria y la IP. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Usar ansible_facts en las tareas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué son los facts y por qué importan
  2. Explorar facts con el módulo setup
  3. Usar ansible_facts en las tareas
  4. Desactivar la recopilación de facts para ganar velocidad
← Volver a DevOps Bootcamp