Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Configuración del Balanceador de Carga de Red de Amazon ELB

Estas instrucciones describen cómo configurar un Balanceador de Carga de Red (NLB) en el servicio EC2 de Amazon que dirigirá el tráfico a múltiples instancias en EC2.

Estos ejemplos muestran el balanceador de carga configurado para dirigir el tráfico a tres nodos de servidor de Rancher. Si Rancher está instalado en un clúster de Kubernetes K3s, solo se requieren dos nodos.

Este tutorial trata sobre una posible forma de configurar tu balanceador de carga, no la única forma. Otros tipos de balanceadores de carga, como un Balanceador de Carga Clásico o un Balanceador de Carga de Aplicaciones, también podrían dirigir el tráfico a los nodos del servidor Rancher.

Rancher solo admite el uso del NLB de Amazon al terminar el tráfico en modo tcp para el puerto 443 en lugar de modo tls. Esto se debe a que el NLB no inyecta los encabezados correctos en las solicitudes cuando se termina en el NLB. Esto significa que si deseas utilizar certificados gestionados por el Administrador de Certificados de Amazon (ACM), deberías usar un ALB.

Requisitos

Estas instrucciones asumen que ya has creado instancias de Linux en EC2. El balanceador de carga dirigirá el tráfico a estos nodos.

1. Crear Grupos de Destino

Comienza creando dos grupos de destino para el protocolo TCP, uno con el puerto TCP 443 y otro para el puerto TCP 80 (proporcionando redirección al puerto TCP 443). Añadirás tus nodos de Linux a estos grupos.

Tu primer paso de configuración del NLB es crear dos grupos de destino. Técnicamente, solo se necesita el puerto 443 para acceder a Rancher, pero es conveniente agregar un listener para el puerto 80, ya que el tráfico hacia este puerto se redirigirá automáticamente al 443.

El Traefik Ingress debería redirigir el tráfico del puerto 80 al puerto 443.

  1. Inicia sesión en la Consola de Amazon AWS para comenzar. Asegúrese de seleccionar la Región donde se crean sus instancias EC2 (nodos Linux).

  2. Selecciona Servicios y elige EC2, encuentra la sección Balanceo de Carga y abre Grupos de Destino.

  3. Haz clic en Crear grupo de destino para crear el primer grupo de destino para el puerto TCP 443.

Para detalles sobre las comprobaciones de salud del Traefik Ingress, consulta esta sección.

Grupo de destino (puerto TCP 443)

Configura el primer grupo de destino según la tabla a continuación.

Opción Valor

Nombre del grupo de destino

rancher-tcp-443

Tipo de destino

instance

Protocolo

TCP

Puerto

443

VPC

Elige tu VPC

Configuración de comprobación de salud:

Opción Valor

Protocolo

TCP

Puerto

override,80

Umbral saludable

3

Umbral no saludable

3

Tiempo límite

6 seconds

Intervalo

10 seconds

Haz clic en Crear grupo de destino para crear el segundo grupo de destino para el puerto TCP 80.

Grupo de destino (puerto TCP 80)

Configura el segundo grupo de destino según la tabla a continuación.

Opción Valor

Nombre del grupo de destino

rancher-tcp-80

Tipo de destino

instance

Protocolo

TCP

Puerto

80

VPC

Elige tu VPC

Configuración de comprobación de salud:

Opción Valor

Protocolo

TCP

Puerto

traffic port

Umbral saludable

3

Umbral no saludable

3

Tiempo límite

6 seconds

Intervalo

10 seconds

2. Registrar destinos

A continuación, añade tus nodos Linux a ambos grupos de destino.

Selecciona el grupo de destino llamado rancher-tcp-443, haz clic en la pestaña Destinos y elige Editar.

edit targetgroup 443

Selecciona las instancias (nodos Linux) que deseas añadir y haz clic en Añadir a registrados.


add targets targetgroup 443
Figure 1. Captura de pantalla Añadir destinos al grupo de destino puerto TCP 443

added targets targetgroup 443
Figure 2. Captura de pantalla Destinos añadidos al grupo de destino puerto TCP 443

Cuando las instancias estén añadidas, haz clic en Guardar en la parte inferior derecha de la pantalla.

Repite esos pasos, reemplazando rancher-tcp-443 con rancher-tcp-80. Las mismas instancias deben ser añadidas como destinos a este grupo de destino.

3. Crea tu NLB

Utiliza el asistente de Amazon para crear un balanceador de carga de red. Como parte de este proceso, añadirás los grupos de destino que creaste en 1. Crea Grupos de Destino.

  1. Desde tu navegador web, navega a la Consola de Amazon EC2.

  2. Desde el panel de navegación, elige BALANCEO DE CARGA > Balanceadores de Carga.

  3. Haz clic en Crear Balanceador de Carga.

  4. Elige Balanceador de Carga de Red y haz clic en Crear. Luego completa cada formulario.

Paso 1: Configurar el balanceador de carga

Establece los siguientes campos en el formulario:

  • Nombre: rancher

  • Esquema: internal o internet-facing. El esquema que elijas para tu NLB depende de la configuración de tus instancias y VPC. Si tus instancias no tienen IPs públicas asociadas, o solo accederás a Rancher internamente, deberías establecer el esquema de tu NLB en internal en lugar de internet-facing.

  • Listeners: El protocolo del balanceador de carga debería ser TCP y el puerto correspondiente del balanceador de carga debería estar configurado en 443.

  • Zonas de disponibilidad: Selecciona tu VPC y Zonas de disponibilidad.

Paso 2: Configurar enrutamiento

  1. Desde el menú desplegable Grupo de destino, elige Grupo de destino existente.

  2. Desde el menú desplegable Nombre, elige rancher-tcp-443.

  3. Abre Configuraciones avanzadas de verificación de salud, y configura Intervalo a 10 seconds.

Paso 3: Registrar destinos

Dado que registraste tus destinos anteriormente, todo lo que tienes que hacer es hacer clic en Siguiente: Revisar.

Paso 4: Repaso

Revisa los detalles del balanceador de carga y haz clic en Crear cuando estés satisfecho.

Después de que AWS cree el NLB, haz clic en Cerrar.

4. Añadir listener al NLB para el puerto TCP 80

  1. Selecciona tu NLB recién creado y selecciona la pestaña Listeners.

  2. Haz clic en Añadir listener.

  3. Usa TCP:80 como Protocolo : Puerto

  4. Haz clic en Añadir acción y elige Reenviar a...

  5. Desde el menú desplegable Reenviar a, elige rancher-tcp-80.

  6. Haz clic en Guardar en la parte superior derecha de la pantalla.

Rutas de comprobación de salud para Ingress de Traefik

Los clústeres de K3s Kubernetes utilizan Traefik como el Ingress por defecto.

La ruta de comprobación de salud es /ping. Por defecto, /ping siempre se coincide (independientemente del Host), y siempre se sirve una respuesta de Traefik mismo.

Para simular una comprobación de salud precisa, es una buena práctica utilizar el encabezado Host (nombre de host de Rancher) combinado con /ping o /healthz siempre que sea posible, para obtener una respuesta de los Pods de Rancher, no del Ingress.