Make NLB as the default Loadbalancer for EKS

Description

As observed in the testing phase, there were issues found when an operation like load was taking a long time with classic loadbalancer. Connection was getting dropped after time of idle connection time out had crossed for the operation. Max time which can be set with classic Loadbalancer is 4000s and this is also more of a workaround.

NLB is a newer generation loadbalancer and it's L4, which is more suitable for DB.
For everest, it would make sense to use NLB as default loadbalancer.
Default annotations can be used for Loadbalancer.
Annotations depends on the type of LB controller used(Legacy controller or LB controller add-on).
Some more information can be found here
https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html
https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/guide/service/annotations/

Annotation for legacy controller

service.beta.kubernetes.io/aws-load-balancer-type: "nlb"

For AWS LB controller add-on:

service.beta.kubernetes.io/aws-load-balancer-type: "external"
service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: IP

would be preferable as this avoids a hop, however this needs AWS VPC CNI plugin.

I did not get details on when the legacy LB controller will not be supported, but till that is supported, it's an easier choice

Activity

Show:

Chetan Shivashankar October 18, 2023 at 1:57 PM

CC

Done

Details

Assignee

Reporter

Fix versions

Priority

Smart Checklist

Created October 18, 2023 at 1:57 PM
Updated June 11, 2024 at 2:49 PM
Resolved November 6, 2023 at 3:44 PM

Flag notifications