I have a microservice architecture, build on Spring Cloud Netflix:
The architecture runs correctly if I invoke it via the Spring Cloud Zuul gateway but I wish to set up an Ingress.
My exact configuration is the following:
The problem is that the ingress has all backend services on unhealthy and I don't know what I'm doing wrong. What do I must do in order to have a working Ingress?
Edit: Per comments, I tried to define readinessProbe, for customer-service pod, as follows:
This doesn't work, and when I try to double check updated configuration, readinessProbe is not visible. I think this is a bug, but I am not sure how to check that the probe is updated or not.
GKE ingress controller performs health check with the readiness probe defined in pod deployment. Add a readiness probe as below using spring boot actuator
spec:
containers:
- name: name
readinessProbe:
httpGet:
port: 8080
path: /actuator/health
initialDelaySeconds: 10
What ended up being the solution in my case was the health check configuration, not readinessProbe. I updated the health check that automatically were created for the ingress backend services to point to /actuator/health. This worked