EKS Service Not Registering NLB Name or Security Groups

Introduction

When deploying a Kubernetes Service of type LoadBalancer to an EKS cluster, you may notice that no Network Load Balancer (NLB) is provisioned, or that it’s missing expected attributes like a custom name or security group assignments. This usually indicates the AWS Load Balancer Controller is not installed, which is required for NLB and ALB support in EKS.

Prerequisites

  • An EKS cluster running.
  • kubectl and Helm access.
  • AWS CLI credentials with permissions to create IAM roles and policies.

Instructions

  1. Step 1 - Check if the aws-load-balancer-controller is installed:
    • kubectl get deployment -n kube-system aws-load-balancer-controller
    • If it’s not found, EKS won't handle NLB provisioning beyond basic CLB behavior.
  2. Step 2 - Install the AWS Load Balancer Controller:

Outcome

Once installed, your Service with type LoadBalancer and appropriate annotations will correctly register an NLB with the desired configuration.

Additional Resources

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.