GCP Kubernetes Engine multiples nginx controllers

2/19/2018

I'm using Kubernetes Engine and I have multiple nginx ingress controllers and their public IPs change all the time.

I can't use it in production because this is not the correct behaviour.

Is it normal? Can someone help me?

-- Daniel Palma Genicio
google-cloud-platform
google-kubernetes-engine

2 Answers

2/19/2018

Promote the ephemeral (temporary) IP address to a static address, and it won't change.

-- Alex
Source: StackOverflow

2/19/2018

Are you using a global external IP address or a regional static external one?

The documentation states that:

The IP address must be a regional static external IP address. A global external IP address will not work with Network load balancing.

I'm linking the doc where I found the info.


I'm editing the answer to make this clear (this is the actual answer to the question):

An Nginx ingress controller is different from a GLB (Google Load Balancer). Using an NGINX controller the IP address of the "Loab Balancer" is the same as the IP address of the node. Therefore, if the IP of the node changes, it will change the IP of the "Load Balancer" at the same time. I found this Github issue that concludes that static IP addresses are only available in Google Load Balancers but not when using an Nginx ingress controller. github.com/kelseyhightower/ingress-with-static-ip/issues/2

-- Shibboleet
Source: StackOverflow