<p>Here is my Readiness Probe Configuration:</p>
<pre><code>readinessProbe:
        httpGet:
            path: /devops/versioninfo/api
            port: 9001
        initialDelaySeconds: 300
        timeoutSeconds: 3
        periodSeconds: 10
        failureThreshold: 60
</code></pre>
<p>Here is my rolling update strategy:</p>
<pre class="lang-yaml prettyprint-override"><code>strategy:
  rollingUpdate:
    maxSurge: 2
    maxUnavailable: 0
</code></pre>
<p>Because it will take a long time for my pods to be ready, but when the deployment is rolling update, old pods will be deleted when the new one's status is running whose ready health is not ok.</p>
<p>How to let the rolling update strategy be that the new one is ready and then delete the old one.</p>

<p>You can try increasing the <a href="https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#min-ready-seconds" rel="nofollow noreferrer">minReadySeconds</a> option in the Deployment spec. Basically, tell the deployment that you need to at least wait X number of seconds before you can say one particular pod is ready.</p>
<p>✌️</p>
