Skip to main content

Elastic Load Balancer Controller

Overview

Elastic Load Balancer (ELB) Controller is available as an add-on within Ankra's platform, allowing you to seamlessly integrate Amazon Load Balancers with your Kubernetes Services. The ELB Controller automates the management of Load Balancers and their associated resources in a Kubernetes-native way.


Configuration Options

The ELB Controller add-on offers configurable inputs that let you customize the deployment for your cluster’s specific needs. Below are the inputs available:

Inputs

  • Helm Chart Version
    This input sets the version of the Elastic Load Balancer Controller Helm chart to deploy.

    • Default: v1.8.3
    • Options:
      • v1.8.3 (default)

    Example:

    helm_chart_version: "v1.8.3"

Usage

Deploying Elastic Load Balancer Controller

To deploy the Elastic Load Balancer Controller in your Kubernetes cluster using Ankra, follow these steps:

  1. Access the Add-ons Section
    In Ankra's platform, go to the Add-ons section and select Elastic Load Balancer Controller from the available add-ons.

  2. Configure Inputs
    You will be prompted to configure the following inputs:

    • Helm Chart Version: Choose the required version of the ELB controller or leave it as the default version.

    Example configuration:

    helm_chart_version: "v1.8.3"

Credentials

The kubernetes nodes created by Ankra, while agnostic, are integrated with the cloud provider IAM. No credentials required during the setup.

  1. How to use AWS ELB Controller By adding the following annotation, you can get the AWS ELB to generate you a Network LoadBalancer. See official documentation
    service:
    annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: "nlb" # Specify NLB type
    service.beta.kubernetes.io/aws-load-balancer-scheme: "internet-facing" # Expose to the internet
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-protocol: "TCP" # Use TCP for health checks
    service.beta.kubernetes.io/aws-load-balancer-healthcheck-port: "443" # Health check port
    loadBalancerClass: service.k8s.aws/nlb # Specify the AWS NLB load balancer class