<p>I have 2 applications running on my cluster : G and C. G is only one pod and C is on 2 pods.</p>

<p>G is exposed to external connection and C is not. G first receive requests that he then process and sends to C.</p>

<p>So I was wondering how can I load balance the requests that G sends to C between the 2 pods of C.</p>

<p>I am currently using Kubernetes native service for C but I'm not sure if it is load balancing between my 2 pods. Everything I'm reading seems to expose the service externally and I don't want that</p>

<p>Thank you</p>

<p>Create a Kubernetes Service of type <a href="https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types" rel="nofollow noreferrer">ClusterIP</a> for application C's Deployment. Such Service gets an internal IP which isn't exposed outside of the cluster. The Service does a simple round-robin routing of the traffic among the pods it targets (from the Deployment). </p>

<p>Use this to reference application C from G via the Service:</p>

<pre><code>&lt;k8s-service-name&gt;.&lt;namespace&gt;.svc.cluster.local
</code></pre>

<p>The above assumes that there's <a href="https://v1-13.docs.kubernetes.io/docs/concepts/services-networking/dns-pod-service/" rel="nofollow noreferrer">DNS</a> running on the cluster (there usually is).</p>
