Whether to use an Amazon Application Load Balancer (ALB) or Network Load Balancer (NLB) for your Kubernetes cluster depends on your specific use case and requirements.
ALB is a Layer 7 load balancer that can route HTTP/HTTPS traffic. It provides advanced routing capabilities and can route traffic based on the content of the request. It is best suited for load balancing of HTTP/HTTPS traffic and can handle millions of requests per second. If you are running a web application, or an application that requires advanced routing capabilities and SSL offloading, ALB would be the best option.
On the other hand, NLB is a Layer 4 load balancer that can route TCP/UDP traffic. It is best suited for load balancing of TCP and UDP traffic and it is less expensive than ALB. It can handle millions of requests per second and it is best suited for load balancing of TCP and UDP traffic. If your application is running on a protocol other than HTTP/HTTPS, such as a custom TCP or UDP protocol, NLB would be the best option.
In summary, you should choose ALB if you need Layer 7 routing capabilities and SSL offloading and NLB if you need Layer 4 routing capabilities and if your application is running on a protocol other than HTTP/HTTPS.
It is important to note that the choice of load balancer also depends on the features that are important to your use case and the cost of the load balancer that is applicable to your organization. It is a good idea to test and evaluate the performance of your application under both types of load balancers and then decide which one to use.