0Pricing
DevOps Bootcamp · Lección

delegate_to y run_once para la orquestación

Ejecute una tarea en un host para muchos otros

delegate_to y run_once para la orquestación es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 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.

Las tareas no siempre se ejecutan donde cree

De forma predeterminada, cada tarea se ejecuta en su host de destino. Para la orquestación, a veces necesita que una tarea se ejecute en un lugar completamente distinto. 🎯

Conozca delegate_to

La palabra clave delegate_to ejecuta una tarea en un host distinto del actual, pero sigue utilizando las variables de ese host.

- name: Add web node to load balancer
  community.general.haproxy:
    host: "{{ inventory_hostname }}"
    state: enabled
  delegate_to: lb01

Un caso de uso clásico

Mientras recorre los nodos web, delegue el cambio del balanceador de carga en el host del LB. El play sigue ejecutándose por nodo, pero la acción se realiza en el LB.

Delegar en localhost

Ejecute una tarea en su nodo de control delegándola en localhost. Es ideal para llamar a una API o enviar una notificación desde un único lugar.

- name: Notify chat
  ansible.builtin.uri:
    url: "{{ webhook }}"
    method: POST
  delegate_to: localhost

Las variables permanecen con el host original

La delegación cambia dónde se ejecuta una tarea, no los datos que consulta. inventory_hostname sigue indicando el destino original, no el delegado.

Conozca run_once

La palabra clave run_once ejecuta una tarea una sola vez para todo el lote, no una vez por host. Ansible elige el primer host para ejecutarla.

- name: Run database migration
  ansible.builtin.command: ./migrate.sh
  run_once: true

Por qué es importante run_once

Algunas acciones deben realizarse una sola vez, como una migración o una elección de líder. run_once evita que cada host repita el mismo paso compartido.

Combínelos

Combine run_once con delegate_to para realizar una acción en un único host elegido, como ejecutar una migración desde un solo nodo de la aplicación.

- name: Migrate db once
  ansible.builtin.command: ./migrate.sh
  run_once: true
  delegate_to: app01

Los resultados se comparten

Con run_once, el resultado registrado se comparte entre todos los hosts del lote. Todos ven la salida de esa única ejecución.

- ansible.builtin.command: cat /etc/version
  run_once: true
  register: ver

Recopilar datos de un delegado

Use delegate_facts si quiere que los datos recopilados se asocien al host delegado en lugar de al actual. Está desactivado de forma predeterminada.

Orquestación, no solo configuración

Juntas, estas palabras clave convierten la configuración por host en verdadera orquestación: coordinan una acción en toda una flota desde un único punto.

Comprobación rápida

Veamos estas palabras clave de orquestación.

Resumen

Use delegate_to para ejecutar una tarea en otro host y run_once para ejecutarla una sola vez por lote: la base de la orquestación. ✅

Preguntas frecuentes

¿La lección «delegate_to y run_once para la orquestación» es gratis?

Sí — el texto completo de «delegate_to y run_once para la orquestación» 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 «delegate_to y run_once para la orquestación»?

Ejecute una tarea en un host para muchos otros 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 2 de 4.

¿Cuánto tiempo toma la lección «delegate_to y run_once para la orquestación»?

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. Automatizar dispositivos de red con cli_command
  2. delegate_to y run_once para la orquestación
  3. Coordinar las capas web, de aplicación y de base de datos
  4. Retirar y volver a habilitar nodos del balanceador
← Volver a DevOps Bootcamp