How to have rolling updates with GKE and the ingress controller for google cloud?

5/4/2019

I've deployed multiple microservices on GKE and expose them via the ingress controller (https://github.com/kubernetes/ingress-gce). All my deployments have rolling upgrades and readinessProbes (which all seems to work correctly), but every time I deploy one of my microservices the ingress controller marks it as 'status UNKNOWN', it takes several minutes before my microservice is 'HEALTHY' again. After my microservice is 'HEALTHY' everything is working just fine, but I would like to avoid the availability gap.

Rolling Update:

  rollingUpdate:
    maxUnavailable: 0
    maxSurge: 1

Readiness Probe:

  readinessProbe:
    httpGet:
      path: /api/
      port: 3105
    initialDelaySeconds: 30
    periodSeconds: 5
    successThreshold: 1

I would expect my microservice to be 'HEALTHY' as soon as the rolling upgrade is complete.

-- Bjorn Rombaut
google-cloud-platform
google-kubernetes-engine
kubernetes-ingress

0 Answers