ingress-nginx in Amazon EKS with static IP

12/11/2018

I'm just starting with kubernetes and I'm facing some troubles. I'll describe my scenario:

I want to deploy an application that is made up of N (being N near 10) different services. Each service has its own domain and the services comunicate to each other. I'm trying to deploy it with Amazon EKS.

I've deployed it all and set up a reverse proxy using an ingress with the nginx controller and it's working as expected. If I put the ingress external ip (a0[..].us-east-1.elb.amazonaws.com) in my hosts file pointing to the services URLs, everything works well, but I want to take a step further.

I have to point all my services URLs to an IP in my domain provider. But the ingress gets a new external IP everytime it is created. What I want to achieve is to bind a static IP to the ingress.

I've already read this question:

Bind nginx-ingress to static IP Address

But the only answer that question has suggests using a Network Load Balancer (NLB), but I can't find how to bind an Elastic IP to the NLB. Reading this AWS guide I've seen that you can attach an Elastic IP when you manually create a NLB.

Maybe I'm misunderstanding something, or there is some concept I don't know yet and there is an easier way to do what I want to.

In any case, thank you very much for your time.

-- Ale Sanchez
amazon-eks
amazon-web-services
kubernetes
kubernetes-ingress
nginx-ingress

0 Answers