<p>I have a Google Cloud Project with:</p>

<ol>
<li>Internal network. </li>
<li>I also deployed Kubernetes using this internal network. </li>
<li>I deployed a deployment with a service (no external IP).</li>
</ol>

<p>Services:</p>

<pre><code>NAME           TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
redis-master   ClusterIP   10.0.0.213   &lt;none&gt;        6379/TCP   27s
</code></pre>

<p>Now, I also deployed another VM instance within the same internal network. I want that this VM will access the IP: 10.0.0.213 on port 6379. But it's not working. </p>

<p>I read here, that I need to port-forward it in order to make it possible. But I don't want to expose my kubernetes cluster credentials in this VM. </p>

<p>LoadBalacer will give me external IP, which will work within the internal network but will work also from the internet. </p>

<p>So, how to expose it just to the Google internal network?</p>

No1Lives4Ever
<p>I guess what you need is an Internal Load Balancer. You can simply annotate the Service with <code>cloud.google.com/load-balancer-type: "Internal"</code>. See the <a href="https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing#overview" rel="nofollow noreferrer">internal-load-balancing</a>.</p>
