<p>I'm trying to configure an elastic ip with Amazon's Elastic Kubernetes service so I can expose a static public IP address. So far it seems the only way to expose a static public IP address is through a load balancer which is kind of a waste since I have a static private IP address endpoint for the service but no way to expose it publicly. And I only need 1 instance of the service running since HA isn't a requirement here. I have tried everything I can think of even to manually configuring an elastic ip but it seems that if that is a solution, the steps are a little convoluted and seems odd that you would have to do such a thing. </p>

<p>Short answer: AFAIK it's not possible through K8s. If you don't want to waste EIPs then why don't you use an Ingress Controller (Something like traefik or nginx) that way your ingress uses a single IP as a service and then you can expose other services from there.</p>

<p><a href="https://github.com/kubernetes/ingress-nginx" rel="nofollow noreferrer">nginx</a></p>

<p><a href="https://docs.traefik.io/configuration/backends/kubernetes/" rel="nofollow noreferrer">traefik</a></p>

<p>Also, you can track or open issues in <a href="https://github.com/kubernetes-incubator/kube-aws/blob/master/proposals/plugins.md" rel="nofollow noreferrer">kube-aws</a> or in k8s itself in the <a href="https://github.com/kubernetes/kubernetes/tree/master/pkg/cloudprovider/providers" rel="nofollow noreferrer">AWS provider part of the code</a> </p>
