The components of the NSX Advanced Load Balancer, also known as Avi Load Balancer, include the control plane cluster, data plane VMs, virtual services, and IP address management.

Controller

The Avi Controller, also called the Controller, is responsible for provisioning service engines, coordinating resources across service engines, and aggregating service engine metrics and logging. The Controller provides a web interface, command-line interface, and API for user operation and programmatic integration.

The Controller is deployed standalone or in a redundant 3-node cluster for high-availability. Once you have deployed and configured the Controller VM as described here, see Deploying a Controller Cluster for details on how to set up the control plane cluster for HA.

Service Engine

The Avi Service Engine, also called the Service Engine, is the data plane virtual machine. A Service Engine VM is a load balancing endpoint. A Service Engine runs one or more virtual services. A Service Engine is managed by the controller. The controller provisions Service Engines to host virtual services.

The Service Engine has two network interfaces:
  • One network interface connects to the Management network where it can connect to vCenter, ESXi, and Supervisor Clusters.
  • The second interface connects to the Workload network where virtual services run.

Each Service Engine can support up to 1000 virtual services. Scale out is dynamic depending on traffic load.

Virtual Service

A virtual service provides layer 4 load balancing services for Tanzu Kubernetes cluster workloads. A virtual service is configured with one virtual IP and multiple ports. When a virtual service is deployed, the Controller automatically selects an ESX server, spins up a Service Engine, and connects it to the correct networks (port groups).

The first Service Engine is created only after the first virtual service is configured. Any subsequent virtual services that are configured use the existing Service Engine.

IP Address Management

Each virtual server exposes a layer 4 load balancer with a distinct IP address of type load balancer for a Tanzu Kubernetes cluster. The IP address assigned to each virtual server is chosen from the IP address block give to the Controller when you configure it.

AVI comes with native IPAM and external IPAM provider support. In vSphere, AVI native IPAM is leveraged.

Kubernetes Operator

The Kubernetes operator (AKO) watches Kubernetes resources and communicates with the Controller to request the corresponding load balancing resources.

The Tanzu Kubernetes Grid Service automatically installs the Kubernetes operator on the Tanzu Kubernetes cluster.