Choosing of AWS Load Balancer for Kubernetes HA cluster

5/14/2018

I am trying to implement CI/CD pipeline for my set of microservices by using Kubernetes HA cluster and Jenkins.

When I am exploring, I found that usage of load balancer for making a HA kubernetes cluster. I am planning to host my application in AWS. So I want to create and use an AWS elastic load balancer for my application by supporting HA kubernetes cluster.

My doubt here that, When I am exploring AWS load balancer, I am seeing that "Application Loadbalancer - http/https" and "Network Loadbalancer-TCP".

So here I am confused about which load balancer AWS resources I need to create?
In my exploration, I understood that to create a network load balancer.

So my confusion is this. Can anyone clear that I am going in correct direction?
Means creating network load balancer.

Can anyone correct me if I am going in wrong direction?

Let me know that should network load balancer will solve HA kubernetes cluster formation or not?

-- Jacob
amazon-web-services
kubernetes

1 Answer

5/14/2018

There isn't a right answer to your question, it really depends what you need to do. You can achieve HA with a network load balancer, a classic load balancer (even though this is the old generation and is not suggested) or an application load balancer.

The advantages of network load balancers are certainly related to performance and the possibility to attach elastic IPs and are ideal for balancing TPC traffic (level 4 routing).

On the other side, application load balancers are ideal for advanced load balancing of HTTP and HTTPS traffic (level 7 routing), with the possibility to do advanced request routing, suitable for complex application architectures (such as microservices)

This link might be useful https://aws.amazon.com/elasticloadbalancing/details/#details

-- Gabriel
Source: StackOverflow