0Pricing
DevOps Bootcamp · Lección

Retirar y volver a habilitar nodos del balanceador

Saque nodos y reincorpórelos de forma segura

Retirar y volver a habilitar nodos del balanceador es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 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.

Actualizar el tráfico activo es arriesgado

Si actualiza un servidor mientras los usuarios acceden a él, las solicitudes fallan. La solución es drenar primero el nodo del balanceador de carga. 🚦

Qué significa drenar

Drenar un nodo significa dejar de enviarle tráfico nuevo mientras se permite que terminen las solicitudes en curso. Después, es seguro actualizarlo.

El ciclo de drenar, actualizar y volver a habilitar

El patrón seguro consta de tres pasos: drenar el nodo, desplegar el cambio y volver a habilitarlo en el balanceador de carga.

Deshabilitar un nodo en HAProxy

El módulo community.general.haproxy establece un nodo del backend en estado disabled e indica a HAProxy que deje de dirigirle tráfico.

- name: Drain web node
  community.general.haproxy:
    state: disabled
    host: "{{ inventory_hostname }}"
    socket: /var/run/haproxy.sock

Ejecutar la tarea del LB desde el LB

El socket de HAProxy se encuentra en el balanceador de carga, así que use delegate_to para delegar la tarea en el host del LB mientras sigue indicando el nodo web que se está drenando.

  delegate_to: lb01

Esperar a que se drenen las conexiones

Dé tiempo a que terminen las solicitudes activas. Use wait_for o una pausa breve para no interrumpir a los usuarios en mitad de una solicitud.

- name: Let traffic drain
  ansible.builtin.wait_for:
    timeout: 30
  delegate_to: localhost

Ahora puede desplegar de forma segura

Con el nodo fuera de rotación, ejecute las tareas de actualización: instale paquetes, distribuya la configuración y reinicie la aplicación. El tráfico activo no se verá afectado. 🔧

Volver a habilitar el nodo

Después de actualizarlo, establezca el nodo de nuevo en estado enabled para que HAProxy vuelva a dirigir tráfico a su servidor recién desplegado.

- name: Re-enable web node
  community.general.haproxy:
    state: enabled
    host: "{{ inventory_hostname }}"
    socket: /var/run/haproxy.sock
  delegate_to: lb01

Comprobar la salud antes de volver a habilitarlo

Confirme que la aplicación está realmente activa antes de añadirla de nuevo. Un wait_for o una comprobación uri del endpoint de salud evita servir tráfico desde un nodo averiado.

- ansible.builtin.uri:
    url: http://localhost:8080/health
    status_code: 200
  retries: 5
  delay: 3

Trabajar con un nodo a la vez

Combine este ciclo con serial para que solo uno o dos nodos se drenen a la vez. El resto seguirá atendiendo solicitudes, lo que le permitirá evitar el tiempo de inactividad.

- hosts: web
  serial: 1

Volver a habilitar siempre, incluso si hay un fallo

Incluya el despliegue en un block con always para que una actualización fallida vuelva a poner el nodo en rotación en lugar de dejarlo aislado.

Comprobación rápida

Veamos el patrón de despliegue seguro.

Resumen

Para evitar el tiempo de inactividad, drene un nodo, despliéguelo, compruebe su salud y vuelva a habilitarlo, trabajando con un nodo a la vez mediante serial y un block con always. ✅

Preguntas frecuentes

¿La lección «Retirar y volver a habilitar nodos del balanceador» es gratis?

Sí — el texto completo de «Retirar y volver a habilitar nodos del balanceador» 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 «Retirar y volver a habilitar nodos del balanceador»?

Saque nodos y reincorpórelos de forma segura 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 4 de 4.

¿Cuánto tiempo toma la lección «Retirar y volver a habilitar nodos del balanceador»?

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