Setting Load Balancing for Applications on EKS
In Chapter 4, we looked at how you can use a NodePort, Ingress, and/or AWS Load Balancer (LB) to expose a simple application. In this chapter, we will dive into more detail on how to scale and provide greater resilience in your application using AWS Elastic Load Balancers (ELBs).
In most modern web or cloud-native applications, you want to ensure that the application is available to its client (resilient) and copes as the Kubernetes scheduler scales your application by replacing, removing, and adding Pods when necessary. Placing an LB in front of your application allows these Kubernetes actions to be hidden from the client, which has a consistent endpoint to access the application regardless of the location or number of Pods. Hence, specifically, we will cover the following topics in this chapter:
- What LBs are available in AWS, and how to choose the right one for your needs
- How EKS can create and use AWS LBs