Some weeks ago I introduced you to my GitHub repository containing a set of Ansible playbooks helping people deploy a highly customizable vSphere 6.7/7.0 with NSX-T 2.5/3.0 nested lab environment.
As I mentioned in the “launch” post, this project is a work in progress and during the last couple of weeks I’ve been spending many hours on trying to improve bits and pieces of the deployment process. I’m also learning more and more about working with Git and Ansible which is a great added bonus.
After reaching somewhat of a milestone the other day, I thought I’d write a short blog post on what’s new and improved. So let’s have a look.
No more Python 2 code or dependencies! As a matter of fact, I carry out all testing from an Ubuntu 18.04 VM with only Python 3 installed.
A VyOS router (VM) is now part of the default deployment.
VIFs on the router’s internal interface are default gateways for the VLANs within the nested environment. The public interface should be connected to your physical network so that traffic can be routed in and out of the nested environment. Furthermore, BGP is configured for peering with the Tier-0 Gateway and NAT is enabled for the nested environments management VLAN.
NSX-T logical networking
Leveraging VMware’s new NSX-T 3.0 Ansible modules, the default deployment now provisions NSX-T logical networking.
A Tier-0 Gateway with two external interfaces and BGP configuration for peering with the VyOS router. Of course, everything from AS numbers to IP subnets is customizable.
vCenter not required/used
The entire deployment is now carried out against a standalone physical ESXi host. vCenter is not required and not used.
- Only Ansible and VMware supported modules are used by the deployment. Custom modules have been removed.
- Improved answerfile.yml (I’m still trying to find the perfect balance between customizability and ease of use).
- Added undeploy.yml for easy removal of the deployed components.
- An updated README.md now contains clearer instructions and more information including some diagrams.
While I’m afraid that this project will never be finished, I am happy enough with the latest improvements to call it a “milestone”.
There are more areas that need attention, but there’s a foundation at least. The playbooks certainly help me when I need to spin up different vSphere/NSX-T environments for testing.
Thanks for reading.