<p>I have an EKS cluster.</p>

<p>I created my service and exposed it using ingress-nginx.</p>

<p>ingress-nginx external IP appears as a DNS name and not as IP.</p>

<p>How can I connect my private domain to point to my EKS service?</p>

<p>I know that there is an annotation for using AWS Elastic IP with Kubernetes, </p>

<p>but it's only available starting from Kubernetes 1.16 and EKS supports only up to 1.14.</p>

<p>So what are my options to assign some static IP to my service and configure my DNS to point this IP?</p>

<p>When creating LoadBalancer service (which will create an actual load balancer), you can now specify preallocated Elastic IPs by id via annotations.</p>
<p>Example:</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: v1
kind: Service
metadata:
  name: some-name
  annotations:
    # only network load balancer supports static IP
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
    # comma-separated list of Elastic IP ids
    # the length of the list must be equal to the number of subnets
    service.beta.kubernetes.io/aws-load-balancer-eip-allocations: eipalloc-abcd0000,eipalloc-abcd0001,eipalloc-abcd0002
  ...
spec:
  type: LoadBalancer
  ...
</code></pre>
