<p>In Kubernetes <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/" rel="noreferrer" title="Configure Liveness, Readiness and Startup Probes"><code>Kubernetes Health Check Probes</code></a>, what happens if <code>timeoutSeconds</code> exceeds <code>periodSeconds</code>? For example:</p>
<pre><code>initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 10
successThreshold: 1
failureThreshold: 3
</code></pre>
<p>When will the Pod &quot;fail&quot;?</p>
<ul>
<li><code>initialDelaySeconds</code> + (<code>periodSeconds</code> * <code>failureThreshold</code>); or</li>
<li><code>initialDelaySeconds</code> + ( <code>MAX</code>(<code>periodSeconds</code>,<code>timeoutSeconds</code>) * <code>failureThreshold</code>);</li>
</ul>
<p>Same question applies for when the Pod succeeds.</p>

<p>There is a diagram in this <a href="https://www.openshift.com/blog/liveness-and-readiness-probes" rel="noreferrer">blog post</a> which illustrate your question clearly:</p>
<p><a href="https://i.stack.imgur.com/IlqKb.png" rel="noreferrer"><img src="https://i.stack.imgur.com/IlqKb.png" alt="Probe Timeline" /></a></p>
<p>The pod will be restarted at lowest,</p>
<blockquote>
<p>time = initialDelay + (failureThreshold - 1) * period + timeout</p>
</blockquote>
<ul>
<li><code>timeoutSeconds</code> &gt; <code>periodSeconds</code> ?</li>
</ul>
<p>The probe call will be fired at a given interval independent of the previous probe response. The <code>failureThreshold</code> will be checked, once the probe call is passed or failed/timeout. But it is recommended to use <code>periodSeconds</code> greater than the <code>timeoutSeconds</code>.</p>
