Tengo un clúster EKS.
Creé mi servicio y lo expuse usando ingress-nginx.
La IP externa de ingreso-nginx aparece como un nombre de DNS y no como una IP.
¿Cómo puedo conectar mi dominio privado para que apunte a mi servicio EKS?
Sé que hay una anotación para usar AWS Elastic IP con Kubernetes,
pero solo está disponible a partir de Kubernetes 1.16 y EKS solo admite hasta 1.14.
Entonces, ¿cuáles son mis opciones para asignar una IP estática a mi servicio y configurar mi DNS para señalar esta IP?
Al crear el servicio LoadBalancer (que creará un balanceador de carga real), ahora puede especificar direcciones IP elásticas preasignadas por ID a través de anotaciones.
Ejemplo:
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 ...Asignación de una dirección IP estática a AWS Load Balancer
La respuesta a esta publicación todavía suena cierta en este caso.
La forma en que Amazon realiza el equilibrio de carga es escalando hacia arriba y hacia abajo las interfaces según sea necesario para manejar la carga de solicitudes. Es por eso que le asignan un nombre de dominio en lugar de una dirección IP, ya que su balanceador de carga podría tener múltiples interfaces físicas y las direcciones IP cambiarán con frecuencia.
Si todo lo que intenta hacer es crear un nombre DNS para su balanceador de carga, puede hacerlo simplemente con cualquier proveedor de DNS creando un registro CNAME que apunte al nombre DNS del balanceador de carga aprovisionado por AWS. Si está utilizando Route53, es aún más simple ya que puede crear un registro A con un alias para el nombre DNS.
Espero que esto ayude. FWIW, no es posible obtener una sola dirección IP estática para su balanceador de carga a menos que solo lo esté implementando en una zona de disponibilidad.
Puede aprovisionar la IP elástica en AWS y configurar el servicio con esa IP.
Ex: type: LoadBalancer loadBalancerIP: xxxxx