Home / Platform management / Clusters / Clusters / Public Cloud Cluster Initialization / Network Initialization / AWS EKS Additional Information

AWS EKS Additional Information

Glossary

Abbreviation Full Name Description
eks-clb Classic Load Balancer The default load balancer provided by AWS, which may have issues in certain situations and is not recommended for use.
eks-nlb Network Load Balancer A Layer 4 load balancer provided by AWS, capable of load balancing at the TCP/UDP layer, suitable for cases requiring advanced network control.
eks-alb Application Load Balancer A Layer 7 load balancer provided by AWS, compared to eks-nlb, eks-alb can parse HTTP/HTTPS protocols, allowing for more intelligent request distribution, suitable for web application scenarios.
aws-lb AWS Load Balancer A load balancer installed on Kubernetes, automatically creating eks-nlb and eks-alb based on the LoadBalancer type internal routes (Service) and inbound rules (Ingress) in Kubernetes to meet the load balancing needs of applications.
Platform Load Balancer - A self-developed Layer 7 load balancer by the platform.
Service Annotations - Metadata attached to objects in the form of key-value pairs, providing additional information to enhance and simplify various aspects of managing Kubernetes resources. Annotations can be interpretive text without specific functionality, specify the use of cloud provider configurations or behaviors, specify configuration parameters, tools, etc., making them powerful in functionality.

Notes

When creating a load balancer, it is recommended to manually configure service annotations to ensure that the platform load balancer correctly interprets the use of aws-lb. If the corresponding service annotations are not correctly configured, the platform will default to using eks-clb, which may have issues related to UDP and could lead to unexpected situations.

EKS Uses aws-lb to Provide External Access for Container Network Type Load Balancers

Service Annotation Configuration Instructions

  1. Execute the following command on the corresponding cluster through the Kubectl tool to find all Pods located in the kube-system namespace with names containing aws-load.

    kubectl get pod -n kube-system | grep aws-load
  2. Create the load balancer. For specific creation steps and parameters, please refer to Create a Load Balancer .

    • If no relevant Pods are found through the above command, it indicates that the AWS Loadbalancer Controller is not installed in the cluster. In this case, there is no need to fill in the service annotations; you can create the load balancer directly.

    • If relevant Pods are found through the above command, it indicates that the AWS Loadbalancer Controller is installed in the cluster. In this case, when creating the load balancer for the corresponding cluster, add the following service annotations. For specific service annotation instructions, please refer to Service Annotation Instructions in AWS EKS .

      • service.beta.kubernetes.io/aws-load-balancer-type: external // Mandatory

      • service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip // Mandatory

      • service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing // Optional. Add this service annotation if public network access is required.

Address Retrieval Instructions