Configuring L7 Ingress with NSX Advanced Load Balancer

NSX Advanced Load Balancer provides an L4+L7 load balancing using a Kubernetes operator (AKO) that integrates with the Kubernetes API to manage the lifecycle of load balancing and ingress resources for workloads. AKO runs as a pod in Tanzu Kubernetes clusters and provides an Ingress controller and load balancing functionality. AKO remains in sync with the required Kubernetes objects and calls the NSX ALB Controller APIs to deploy the Ingresses and Services and place them on the Service Engines.

In this post, I will discuss implementing ingress control for a sample application and will see NSX ALB in action.

What is Kubernetes Ingress?

As per Kubernetes documentation:

Ingress exposes HTTP and HTTPS routes from outside the cluster to services within the cluster. Traffic routing is controlled by rules defined on the Ingress resource.

How do I implement NSX ALB as an ingress controller?

If you have deployed AKO via helm, the below parameters in the values.yaml file enables NSX ALB as ingress controller.

If you have automated AKO deployment in the Tanzu Kubernetes cluster by creating custom AKODeploymentConfig (ADC) objects in the management cluster, then ensure you have included the following in your ADC.

When an AKO pod is created in the Tanzu Kubernetes cluster, it adds the missing Kubernetes resource ingressclasses.networking.k8s.io in the cluster.

Deploy a sample web application

I am using the following yaml in my lab to deploy a sample web application to leverage ingress capabilities.

Verify that the new Ingress service is available for the web app after it has been deployed.

For the Ingress configuration, a new VS is created and a VIP is assigned from the VIP pool. Please note that the NSX-ALB creates an https service port for the web app automatically. The sample app has an insecure Ingress configuration, but NSX-ALB handles the app’s SSL termination.

The application is accessible over both http and https.

That concludes this article. I’m looking forward to learning more about this topic and sharing what I learn.

I hope you enjoyed reading this post. Feel free to share this on social media if it is worth sharing.

One thought on “Configuring L7 Ingress with NSX Advanced Load Balancer

Leave a Reply