Skip to main content

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

Did this answer your question?