<p>I was using AWS ECS fargate for running my application. I am migrating to AWS EKS. When I use ECS, I deployed a ALB to route request to my service in ECS cluster.</p>
<p>In kubernete, I read this doc <a href="https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer</a>, it seems that Kubernete itself has a <code>loadbalance</code> service. And it seems that it creates an external hostname and IP address.</p>
<p>so my question is do I need to deploy AWS ALB? If no, how can I pub this auto-generated hostname in route53? Does it change if I redeploy the service?</p>

Joey Yi Zhao
<p>You don't strictly need an AWS ALB for apps in your EKS cluster, but you probably want it.</p>
<p>When adopting Kubernetes, it is handy to manage some infrastructure parts from the Kubernetes cluster in a similar way to how you mange apps and in some cases there are a tight coupling between the app and configuration of your load balancer, therefore it makes sense to manage the infrastructure the same way.</p>
<p>A Kubernetes <code>Service</code> of <a href="https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer" rel="nofollow noreferrer">type LoadBalancer</a> corresponds to a network load balancer (also known as L4 load balancer). There is also Kubernetes <a href="https://kubernetes.io/docs/concepts/services-networking/ingress/" rel="nofollow noreferrer">Ingress</a> that corresponds to an application load balancer (also known as L7 load balancer).</p>
<p>To use an ALB or <code>Ingress</code> in Kubernetes, you also need to install an Ingress Controller. For AWS you should install <a href="https://github.com/kubernetes-sigs/aws-load-balancer-controller" rel="nofollow noreferrer">AWS Load Balancer Controller</a>, this controller now also provides features in case you want to use a network load balancer, e.g. by using IP-mode or expose services using an Elastic IP. Using a pre-configured IP should help with using Route53.</p>
<p>See the EKS docs about <a href="https://docs.aws.amazon.com/eks/latest/userguide/load-balancing.html" rel="nofollow noreferrer">EKS network load balancing</a> and <a href="https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html" rel="nofollow noreferrer">EKS application load balancing</a></p>
