<p>I use GKE and i'm looking a way to create an internal HTTP L7 ingress with private ip.
The Application of the helm chart nginx provision a public L7 with public ip.</p>

user3620514
<p>Annotate the nginx controller service so the LB provisioner, gives you an internal IP Address.</p>

<p>Try this on your nginx-ingress chart <code>values.yaml</code>:</p>

<pre><code>controller:
  service:
    annotations:
      cloud.google.com/load-balancer-type: "Internal"
</code></pre>

<p>Reference:</p>

<ul>
<li><a href="https://github.com/helm/charts/tree/master/stable/nginx-ingress#configuration" rel="nofollow noreferrer">https://github.com/helm/charts/tree/master/stable/nginx-ingress#configuration</a></li>
<li><a href="https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing" rel="nofollow noreferrer">https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing</a></li>
</ul>
