nsx advanced load balancer

Avi Load Balancer VMware Standalone Install

Avi Load Balancer VMware Standalone Install showing how to deploy the Avi Controller appliance without NSX-T, deploy a virtual service, etc

The “software-defined” revolution has transformed just about every area of the data center in the past few years. One of the latecomers to the game has been the load balancer. However, Avi Networks has now transformed the load balancer in the enterprise data center as well. Now, Avi is part of VMware and provides a best-in-breed solution for software-defined data centers delivering modern applications to customers and business stakeholders. I have started to play around with the Avi load balancer in the home lab to deliver load balancing to various applications for testing, etc. The Avi Load balancer is now packaged as the NSX Advanced Load balancer. Many may not realize, but you can stand up the Avi load balancer without NSX-T running in your environment by simply connecting the AVI controller to your vCenter Server and your vSphere environment. Let’s take a look at the Avi load balancer VMware standalone install and see how this can be done.

What is the Avi Load Balancer solution?

Load balancers are a critical component of the enterprise data center that ensures application availability. Traditional load balancers often undermine the efforts to automate your infrastructure. When you take a look at the modern data center, compute and storage are now automated. Load balancers provide both security and availability. Traditionally, pairs of active/standby hardware or virtual appliances provide load balancing features. Since each traditional load balancing appliance has its own management interface it makes scalability extremely difficult. Management, upgrades, and lifecycle management can be difficult.

Avi Networks load balancers provide a pure software-driven solution where the control plane is separated from the data plane. This creates an active load balancing fabric. It helps to give the flexibility to deploy consistently across clouds and it enables effective self-service load balance infrastructure in your environment, built on 100% restful APIs. Avi does this by deploying what are known as the Avi Controller and the Avi Service Engines.

Avi controller and service engines
Avi controller and service engines

The Avi solution also goes beyond simple load balancing. It provides:

  • Monitoring
  • Analytics
  • Application delivery

It provides the tools and capabilities to visualize and analyze the environment to optimize the delivery of applications. These features are key for building modern applications built upon infrastructure powered by Kubernetes and vSphere with Tanzu. With vSphere 7.0 Update 2, VMware now provides support for using the NSX Advanced Load Balancer (Avi Vantage) along with the HA-Proxy that was used in earlier versions. Now that Avi networks is part of VMware, your vSphere with Tanzu platform can have a native VMware stack powering your modern infrastructure applications running on Tanzu, including the load balancer solution.

Avi Load Balancer VMware Standalone Install

As mentioned in the outset, you can also turn up an Avi load balancer solution in your VMware vSphere environment without NSX-T or vSphere with Tanzu and use this as a simple software-defined load balancer solution in your vSphere environment. I have been playing around with a more traditional Kubernetes lab environment. Take a look at my Kubernetes Home Lab Setup Step-by-Step and see how I have built this out. I wanted to have a load balancer solution to play around with load balancing applications in the environment running on the Kubernetes cluster. So, this provided by use case for the Avi load balancer VMware standalone install.

First things first, what am I running this on? The below is my setup for the home lab to run the Avi Load Balancer (NSX Advanced Load Balancer).

Downloading the avi load balancer ova from avi
Downloading the avi load balancer ova from avi

To download the Avi Load Balancer, follow the link to the portal:

Deploy the Avi Load Balancer OVA appliance

The Avi Networks Load Balancer OVA appliance is deployed in the same way as any other OVA in a vSphere environment. You will need to choose storage and network configuration options among other things, again as you would in a typical OVA deployment. As a note, you do not have to fill in the NSX-T details while deploying the OVA appliance. These can be left blank. This will allow performing a standalone deployment of the Avi Load Balancer.

Deploying the avi load balancer in vmware vsphere
Deploying the avi load balancer in vmware vsphere

Once the appliance is deployed, you will be able to browse to the HTTPS port of the management IP address you set during the OVA deployment. This management interface is the Avi Controller. You will need to create a password for the admin account.

Creating the vmware nsx alb avi login
Creating the vmware nsx alb avi login

Create a passphrase. This is for backup operations, etc.

Create a passphrase and dns configuration
Create a passphrase and dns configuration

Configure your Email/SMTP configuration for the Avi Load Balancer controller.

Configure your smtp communication
Configure your smtp communication

Multi-tenant configuration in the Avi Controller.

Multi tenant configuration for nsx alb avi
Multi tenant configuration for nsx alb avi

The Default Cloud screen appears. Here I am targeting a VMware vSphere environment. So, I am choosing the option VMware vCenter/vSphere ESX. Again, this is a straight vCenter Server connection without NSX-T.

Configure your default cloud
Configure your default cloud

Enter the details of your connection to vCenter Server. As you can see, this only requires a vCenter Server connection and no NSX-T details.

Connecting the avi controller to vcenter server
Connecting the avi controller to vcenter server

Configure your data center IP Address configuration.

Dhcp configuration
Dhcp configuration

Select the management network that will be used for the Avi Service Engines when they are deployed.

Selecting the management network for the avi load balancer controller
Selecting the management network for the avi load balancer controller

Setting up an Avi Load Balancer Service

I have an Nginx Pod configured on my Kubernetes cluster that is explosed via a NodePort on port 30000. I have two replicas configured. I am going to setup load balanced connection between the two pods configured on the two Kubernetes worker nodes. As you can see below, I have the service exposed on nodePort 30000.

A node port configuration on a kubernetes service
A node port configuration on a kubernetes service

What does this look like from a Virtual Service perspective in the Avi Controller? Below, I am creating a VIP that listens on port 80 and forwards to the NodePort 30000 port on the backend. The NginxTest pool contains the two Kubernetes replica nodes for the Pod.

Setting up a virtual service in the avi load balancer to point to the replica nodes of the kubernetes cluster
Setting up a virtual service in the avi load balancer to point to the replica nodes of the kubernetes cluster

After forwarding the traffic using the Avi Load Balancer, I can now successfully get to the Nginx web server.

Connecting to the nginx web server after configuring the load balancer
Connecting to the nginx web server after configuring the load balancer

Tremendous visibility of the Avi Load Balancer

One of the things you will be struck by is the visibility you are provided with the Avi Load Balancer. It will detail the virtual service, the virtual infrastructure, the traffic, the experience, security, and many other points of interest for the load balancer. If you expand each virtual application, you will see:

  • Application name
  • Pool
  • Virtual network
  • Nodes to which the application services are forwarded
  • Avi Service Engine
Expanding the virtual service in the avi load balancer
Expanding the virtual service in the avi load balancer

All of these elements are clickable and you can drill into each one to see various metrics, including performance.

Viewing the performance of one of the endpoints of the virtual service
Viewing the performance of one of the endpoints of the virtual service

Below, I have clicked the name of the virtual service > Health. This shows the health of the application.

Viewing the health of the virtual service in the avi load balancer
Viewing the health of the virtual service in the avi load balancer

You can easily see which clients are connected and from which geolocation.

Viewing the clients tab of the virtual service in the avi load balancer
Viewing the clients tab of the virtual service in the avi load balancer

What about security? You can see an overview of the security of the service on the security tab. This displays information about the SSL and the score of the SSL connection.

Viewing the security of the virtual application in avi
Viewing the security of the virtual application in avi 1

Concluding

The Avi Load Balancer VMware Standalone Install is easily accomplished by deploying the AVI OVA appliance, configuring the installation of Avi and then setting up the Virtual Service to forward traffic to your endpoints. Avi provides some of the best visibility you will see with rich analytics and metrics all viewable from the Avi Controller interface.

Subscribe to VirtualizationHowto via Email 🔔

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com and has over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, Brandon has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.