Google Cloud http (s) equilibrador de carga que devuelve 502 a pesar del servicio de backend saludable


11

Tengo un equilibrador de carga http (s) GCE configurado para dirigir el tráfico a 2 backends: - el backend predeterminado - un segundo backend con una regla de host / ruta separada ( <host>:/*)

Ambos backends existen en el mismo grupo de instancias: un clúster de contenedor que ejecuta dos servicios kubernetes que exponen diferentes NodePort.

El grupo de instancias tiene dos puertos con nombre, uno para cada uno de los NodePorts expuestos.

A pesar de que ambos backends informan que están en buen estado, todas las solicitudes al segundo backend devuelven 502.

Los servicios en sí no son el problema: si cambio el servicio detrás del segundo backend para que sea el predeterminado, funciona bien.

NOTA : He actualizado / simplificado esta descripción considerablemente desde que se publicó por primera vez, ya que puedo reproducir el problema con una configuración mucho más simple.



Las respuestas en este problema de Google apuntan a que se trata de una configuración. problema con la regla de host / ruta.
hawkett

Respuestas:


4

El tráfico del equilibrador de carga a su instancia no está habilitado de forma predeterminada. Desafortunadamente, esto no está bien documentado, y realmente, cuando crea un equilibrador de carga, esto debería suceder automáticamente.

Intente agregar esta regla de firewall a la red en la que se encuentran su equilibrador de carga y máquinas virtuales:

130.211.0.0/22   tcp:1-5000   Apply to all targets

1
El problema no es la regla del firewall: los servicios funcionan individualmente. A partir de las respuestas en el problema de Google señaladas en el comentario de OP, parece un problema de configuración en la regla de host / ruta.
hawkett
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.