This blog post is to show how to load balance vCloud Director cells with NSX-T. To use logical load balancers, you must start by configuring a load balancer instance which is deployed into the NSX-T Edge Cluster. You can configure load balancer in different sizes that determines the number of virtual servers, server pools, and pool members the load balancer can support.
For more details refer to Scaling Load Balancer Resources.
Create a Logical Switch
From NSX-T Manager UI create a VLAN Logical Switch, and provide the VLAN id. In this example, VLAN 0. Advance Networking & Security > Networking > Switches >Add New Logical Switch
Create Tier-1 Router
On NSX-T UI, deploy a new standalone Tier-1 Router
Add a new logical Router Port on the newly created Tier-1 Router as Centralized Service Port, connecting it to the logical switch which we created earlier.
Under the Subnets, Add an IP address and subnet which will be used as the load balancer virtual IP address in later steps.
Add Load Balancer
Now we can create load balancer instance and associate the virtual servers with it. Create the LB instance on the Tier 1 Gateway which routes to your VCD cell network. Make sure the Tier 1 Gateway runs on an Edge node with the proper size (see the doc link before).
Advance Networking & Security > Networking > Load Balancers > Add
In this example we use following:
- Name: VCD_LB
- Size: small
First, we need to attach the Tier-1 router created in previous step.
Load Balancers > VCD_LB Overview > Attachment > Edit
Add Active Monitor
Next, we configure an active health monitor which will perform health checks on load balancer pool members according to the active health monitor parameters.
Create new monitor in Advance Networking & Security > Networking > Load Balancers > Monitors > Add New Active Health Monitor
- Health Check Protocol: LbTcpMonitor
- Monitoring Port: 443
- default Interval, Fall Count, Rise Count, Timeout Period
Add Server Pools
Create a server pool and vCloud Director cells as the pool members. NSX-T Server Pools are used to handle traffic for use by the virtual server.
Create new Server Pool in Advance Networking & Security > Networking > Load Balancers > Server Pools > Add New Server Pool
- Load Balancing Algorithm: Round Robin
- TCP Monitoring: Disabled(defaults)
- SNAT Translation: Auto Map
- Pool members: Add vCloud Director Cells IPs
- Health Monitor: Created in above step
Add Virtual Servers
Create new virtual server in Advance Networking & Security > Networking > Load Balancers > Virtual Servers > Add New Virtual Server
- Application Type: Layer 4 TCP
- Application Profile: nsx-tcp profile
- Virtual Server Identifier: IP address of Tier 1 logical port defined above
- Port: 443, 80
- Protocol: TCP
- Server Pool: Created above
- Load Balancing Profile: nsx-default source-ip persistence profile
Attach the load balancer created above to this virtual server. Advance Networking & Security > Networking > Load Balancers > Virtual Servers >LB-VirtualServer>Loab Balancers>Attach
Verify that the Operational Status is Up
In this network topology the load balancer virtual IP and vCloud Director cells IP are in the same subnet and reachable from outside world. If you have an internal IP you need to set up NAT such that load balancer virtual servers are available both from outside (Tier-0 Gateway) and internal networks.
To ensure that the vCloud Director cells connect to the public load balancer virtual IP, URL needs to be configured in vCloud Director public addresses.
Now you may enter the “load balanced URL” to access the vCloud Director provider admin portal for successful verification of the configuration.
You can view this demo on our VMware Telco YouTube channel: