vRA 8 + NSX-T Blog Series Part 8: Create a vRA 8 (Cloud) Blueprint with On-demand NSX-T One-Arm Load Balancer
You can create a vRA Cloud blueprint to deploy machines and place them behind an on-demand NSX-T one-arm load balancer. This method creates a tier-1 router then configures load balancing services, adding virtual server, server pool, and application profile (monitor too if you want). This method should work in vRA 8.1, but I used vRA Cloud to create the demo.
Note that vRA Cloud / vRA 8.1 does not fully support NSX-T policy API yet. Full support for NSX-T policy API is scheduled to be added in vRA 8.2 (but who knows, I’m not a product manager).
Demo Product Versions
- VCF 126.96.36.199-15345960 (vSphere 6.7, NSX-V 6.4.6)
- NSX-T 2.5.0
- vRA Cloud
- NSX-T account connected
- Basic infrastructure configured in Cloud Assembly (Projects, Cloud Zones, Flavor Mappings, Image Mappings)
- tier-0 logical router configured (can be a policy API router)
- edge cluster configured (edge nodes must be at least medium size)
- Create a network profile to use an on-demand load-balancer.
- Create a blueprint with Cloud Agnostic Machine, Cloud Network, and Cloud Load Balancer.
- Create inputs in the blueprint to customize the machine name.
Demo / Example
Create Network Profile
- In vRA Cloud (or vRA 8) Cloud Assmebly, go to “Infrastructure” > “Network Profiles” (under Configure) and click “+ NEW NETWORK PROFILE”. (or you can choose to edit an existing network profile).
- Choose an account/region and give the profile a name.
- Go to “Networks” tab and configure existing networks or on-demand networks. In this demo, I’ll be using an existing NSX-T network. Refer to previous vRA 8 + NSX-T blog series for more details on how to configure existing or on-demand networks.
- Go to “Network Policies” tab and select tier-0 logical router and edge cluster. These are required to deploy an on-demand load balancer because the blueprint creates a tier-1 router in the process.
- Go to “Load Balancers” tab, and make sure there aren’t any existing load balancers on the list. If there are load balancers here, the blueprint will not create an on-demand load balancer. It will just add load balancing services to an existing load balancer.
Create and Configure Blueprint
- Go to “Blueprints” and Click “+ NEW” to create a new blueprint.
- Give a name to the blueprint and choose a project.
- Drag on a Cloud Agnostic Machine, Cloud Agnostic Network, and Cloud Agnostic Load Balancer onto the canvas. You can use environment-specific resources as well if you’d like.
- Connect the Machine and the Load Balancer to the Network on the canvas. Also connect the Machine to the Load Balancer.
- On the right side in the YAML file, choose an image and size for the machine. Add
countproperty to indicate how many machines you want to deploy.
- network:, add the line
assignment: staticto give a static IP address to the machine.
- Since I’ll be placing the machines on an existing NSX-T network, I want to make sure it says
networkType, I also add the line
constraints:then another line
- tag:to choose the existing network I want to use.
- Configure the load balancer.
routesproperty are required.
healthCheckConfigurationis optional - if you provide details, custom monitor will be created. Otherwise, only the virtual server, server pool, and application profile will be created.
- Click “TEST”.
- Click “DEPLOY” to create a new deployment.
- Give it a deployment name, choose “Current Draft”, the click “DEPLOY”.
- Go to “Deployments” tab in Cloud Assembly and check that the deployment is completed successfully.
- Now log into NSX-T UI and go to “Advanced Networking & Security” > “Networking” > “Routers” and you’ll see that a tier-1 router has been created.
- Go to “Advanced Networking & Security” > “Networking” > “Load Balancers” and you’ll see that a load balancer has been created.
- If you click on the virtual server, you can see the port and protocol as you’ve defined in the blueprint.
- If you click the server pool and look at the pool members, you will see the machines that have been created by the blueprint.
- If you click the profiles, you can see application profile that has been created.
Demo / Example Blueprint YAML File