Cómo definir Ingress en GKE, con los contenedores de Spring Cloud Netflix

Aug 16 2020

Tengo una arquitectura de microservicio, construida sobre Spring Cloud Netflix:

  • business-owner-service apunta a una aplicación Spring Boot que se ejecuta en el puerto 8763. Se realiza el reenvío de puertos, business-owner-service: 80 redirecciona al puerto 8763.
  • servicio al cliente apunta a una aplicación Spring Boot que se ejecuta en el puerto 8766. servicio al cliente: 80 -> 8766

La arquitectura se ejecuta correctamente si la invoco a través de la puerta de enlace Spring Cloud Zuul pero deseo configurar un Ingress.

Mi configuración exacta es la siguiente:

  • ingreso

  • configuración de la ruta de entrada

El problema es que la entrada tiene todos los servicios de backend en mal estado y no sé qué estoy haciendo mal. ¿Qué debo hacer para tener un Ingress que funcione?

Editar: según los comentarios, traté de definir readinessProbe, para el pod de servicio al cliente, de la siguiente manera:

Esto no funciona, y cuando trato de verificar la configuración actualizada, readinessProbe no está visible. Creo que esto es un error, pero no estoy seguro de cómo verificar que la sonda esté actualizada o no.

Además, el actuador / salud GET se ejecuta a través de la puerta de enlace Zuul:

Respuestas

1 TudorGrigoriu Aug 19 2020 at 17:49

Lo que terminó siendo la solución en mi caso fue la configuración de verificación de estado, no readinessProbe. Actualicé la verificación de estado que se creó automáticamente para que los servicios de backend de entrada apunten a / actuator / health. Esto funcionó

ArghyaSadhu Aug 16 2020 at 00:24

El controlador de entrada de GKE realiza una verificación de estado con la sonda de preparación definida en la implementación del pod. Agregue una sonda de preparación como se muestra a continuación usando el actuador de arranque de resorte

spec:
  containers:
    - name: name
      readinessProbe:
        httpGet:
          port: 8080
          path: /actuator/health
        initialDelaySeconds: 10