<p>In the below  yaml syntax:</p>
<pre><code>      readinessProbe:
        httpGet:
          path: /index.html
          port: 80
        initialDelaySeconds: 3
        timeoutSeconds: 3
        periodSeconds: 10
        failureThreshold: 3
</code></pre>
<hr />
<p>Readiness probe is used during initial deployments of Pod.</p>
<ol>
<li><p>For rolling out new version of application, using rolling deployment strategy,
Is readiness probe used for rolling deployment?</p>
</li>
<li><p><code>path</code> &amp; <code>port</code> field allows to input url &amp; port number of a specific service, but not dependent service. how to verify, if dependent service is also ready?</p>
</li>
</ol>

<blockquote>
<p>using rolling deployment strategy, Is readiness probe used for rolling deployment?</p>
</blockquote>
<p>Yes, the new version of Pods is rolled out and older Pods are not terminated until the new version has Pods in <em>ready</em> state.</p>
<p>E.g. if you roll out a new version, that has a bug so that the Pods does not become ready - the old Pods will still be running and the traffic is only routed to the <em>ready</em> old Pods.</p>
<p>Also, if you don't specify a <em>readinessProbe</em>, the <em>process</em> status is used, e.g. a <em>process</em> that terminates will not be seen as <em>ready</em>.</p>
<blockquote>
<p>how to verify, if dependent service is also ready?</p>
</blockquote>
<p>You can configure a custom <em>readinessProbe</em>, e.g. a http-endpoint on <code>/healtz</code> and it is up to you what logic you want to use in the implementation of that endpoint. A http response code of 2xx is seen as <em>ready</em>.</p>
