Add Helm Repository

Add the helm repository for NGINX Ingress Controller (

helm repo add ingress-nginx
helm repo update

Create Values File

We will create a values file to override the Helm chart to customize the nginx ingress controller to our preference.

    use-proxy-protocol: "true"

      enabled: true
      annotations: "true" <internal-name> "external" "instance" '*' internal
    annotations: <external name> "external" "instance" '*' internet-facing

In the above example, we will be creating 2 Network Load Balancers (NLB) with Proxy Protocol ( enabled to allow proper forwarding of client IP addresses. Refer to AWS documentations for more information.

Install using Helm

Start the installation of NGINX ingress controller with the following command:

helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx -f values.yaml --namespace ingress-nginx --create-namespace

Check NLB Status

Check the NLB addresses with the following command:

 kubectl get svc -n ingress-nginx