Is it possible to create an GKE ingress controller with internal IP?

11/21/2018

When I create a GKE ingress controller, by default it created a public ip. Is it possible to create an GKE ingress controller with internal IP?

I have exposed my service as type Ingress, I do not have an option to specify if my ip has to be internal or external.

However, if I expose my service as LoadBalancer, I can specify the type of IP. annotations: cloud.google.com/load-balancer -type: "Internal"

-- Sunil Gajula
google-cloud-platform
google-kubernetes-engine
kubernetes-ingress
nginx-ingress

1 Answer

11/21/2018

It sounds like an internal loadbalancer is what you are looking for. An internal load balancer will create a private load balancer ingress IP. This will make your services accessible to the network outside of the cluster, more specifically, "on the network within the same compute region from an IP range in the user’s subnet.", not exposed to the public internet.

Pricing information as well as examples YAML & kubectl commands are within the document.

-- xavierc
Source: StackOverflow