Hi I try to use custom health check with GCP LoadBalancer.
I have added readinessProbe
& livenessProbe
like this:
readinessProbe:
httpGet:
path: /health
port: dash
initialDelaySeconds: 5
periodSeconds: 1
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 10
livenessProbe:
httpGet:
path: /health
port: dash
initialDelaySeconds: 5
periodSeconds: 1
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 10
But when I create my ingress I haven't got my custom health check
I FINALIZED an answer. What I was trying to do was impossible. My GCE Ingress used a backend on port
80
. But in my ReadinessProbe I told him to check on port8080
and on the/health
path. This is impossible!The port of the service declared in the Ingress backend must be the same as that declared in the
readinessProbe
. Only the path can be different. If we do not respect this pattern, it is/
that is associated with the Health Check GCP path.From a network point of view this is logical, the Health Check GCP is "out" of the Kube cluster, if we tell it to route on port
80
but ourReadinessProbe
is on another port, how it can ensure that even if the port associated with the ReadinessProbe meets port80
(which is the one on which it must route traffic) also respond.In summary, the port of the backend declared in Ingress must have a
readinessProbe
on the same port. The only thing we can customize is the path.