kubernetes deployment wait between pods on rolling update

10/13/2016

RESOLVED: We update our cluster to a newer version of Kubernetes and it started working.

So we have a deployment that is using rolling updates. We need it to pause 180 seconds between each pod it brings up. My understanding is that I need to set MinReadySeconds: 180 and to set the RollingUpdateStrategy.MaxUnavailable: 1 and RollingUpdateStrategy.MaxSurge: 1 for the deployment to wait. With those settings it still brings the pods up as fast as it can. . . What am I missing.

relevant part of my deployment

spec:
    minReadySeconds: 180
    replicas: 9
    revisionHistoryLimit: 20
    selector:
      matchLabels:
        deployment: standard
        name: standard-pod
    strategy:
      rollingUpdate:
        maxSurge: 1
        maxUnavailable: 1
      type: RollingUpdate
-- nbutton23
kubernetes

1 Answer

10/19/2016

Assuming that a pod is ready after a certain delay is not very idiomatic within an orchestrator like Kubernetes, as there may be something that prevents the pod from successfully starting, or maybe delays the start by another few seconds.

Instead, you could use Liveliness and Readiness probes to make sure that the pod is there and ready to serve traffic before taking down the old pod

-- chaosaffe
Source: StackOverflow