<p>With the rolling updates, for example if the image version needs to be updated, do we have the option to configure k8s to stop accepting requests at the older pods once at least the minimum expected amount of newer pods are available? Thanks.</p>

zero_yu
<p>I'm not aware of a way to have kubernetes manage that specific deployment itself without writing custom <a href="https://github.com/kubernetes/kubectl/blob/4a0675f1f2e0816c804c6bc6f2b64425c0356088/pkg/cmd/rollingupdate/rolling_updater.go" rel="nofollow noreferrer">kubectl client</a> or <a href="https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#custom-controllers" rel="nofollow noreferrer">kubernetes controller</a> logic (see related questions in the sidebar).</p>

<p>But from the brief description the steps don't seem too hard to implement via a couple of extra API calls: </p>

<ol>
<li>Scale old release to lower limit</li>
<li>Rollout update</li>
<li>Scale new release to upper limit</li>
</ol>

<p>For a good overview of some custom deployment methods managed outside of kubernetes have a look at the <a href="https://github.com/ContainerSolutions/k8s-deployment-strategies" rel="nofollow noreferrer">Container Solution deployment strategy guide</a>. Maybe the <a href="https://github.com/ContainerSolutions/k8s-deployment-strategies/tree/master/blue-green/single-service" rel="nofollow noreferrer">blue/green deployment</a> fits better.</p>
