<p>Based on <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes" rel="nofollow noreferrer">the documentation</a> <code>initialDelaySeconds</code> gives some delay before the first readiness probe is checking the pod. But the only effect of readiness probe failure is that the pod is marked unready: Does not get traffic from services and also affects the deployment state.</p>
<p>So giving readiness checks some delay is not really effective for the majority of the applications: We want to make the pod early as soon as we can, meaning we need to check if it's ready as soon as possible.</p>

<p>Things to consider:</p>
<ol>
<li>No reason to set it earlier than the earliest possible startup time.</li>
<li>If you set it late, you are wasting resources (pods not receiving traffic): 1 minute delay for 60 pods is 1 hour.</li>
<li>How much resource does the readiness Probe consume? Does it make external calls (Database, REST, etc - IMHO this should be avoided)?</li>
<li>Can the pod serve the traffic? Are all the necessary connections (DB, REST) established, caches populated? - No reason to accept traffic if the pod cannot connect to the database/backend service.</li>
</ol>
<p>To summarize:</p>
<ul>
<li>You want to minimize startup time</li>
<li>You want to minimize readiness calls</li>
</ul>
<p>Measure it, set it to the earliest possible time a pod can start.
If your pods are failing the readiness regularly causing restarts, increase it.</p>
