<p><strong>nginx Ingress</strong> is mainly used for <em>path based routing</em> and <em>sub domain based routing</em> to route the request to particular pod and <strong>Cloud provider load balancer</strong> will provide external ip address to get the requests from external world and which in turn points to ingress.</p>
<p>In Kubernetes, <strong>Service components</strong> acts as a real load balancer by balancing the load to multiple pods in the cluster. This is my understanding, Am I correct?</p>

<p>Yes you are correct, so the flow goes like</p>
<p>You create the LB on any Cloud provider which gives you endpoint to the <strong>internet</strong> you can use it with ingress controller. (You can further use the SSL/TLS certificate also with LB to run HTTPS)</p>
<p>If you are using the <strong>Nginx ingress controller</strong> or any other controller depending on that it will handle or manage the <strong>Ingress resource</strong> in the cluster.</p>
<p>Once ingress rule decide service to forward traffic, K8s internal service load balance the traffic across running PODs for specific deployment based on rule.</p>
<pre><code>internet &gt; Loadbalancer &gt; ingress &gt; ingress controller checks &gt; service &gt; Loadbalance traffic across avilable POD of that specific service
</code></pre>
<p>Default load balancing will be round robbin.</p>
