In this post, I’m going to walk you through how to set up an environment that can be used for testing what’s been called
these days “Cloud Native Data Centers”, including underlay/overlay protocols, network automation scripts, zero-touch
provisioning, monitoring, observability amongst many other things.
In order to build this, we’re going to use Vagrant combined with Libvirt, which uses KVM as the hypervisor.
I’ve chosen Libvirt over Virtualbox due to its better scalability and portability beyond running some small tests in
your home PC. You don’t normally see Virtualbox in Linux servers, but you do see KVM.
The great think about Vagrant is that it uses text files to describe the entire network topology, this allows us
to use git for version control and to automate the creation of the test environment - no need to waste time
pointing and clicking in a GUI.
There’s a bit of a learning curve understanding the text file that Vagrant uses to describe the topology (called
Vagrantfile). Hopefully, after you read this blog post, you will be able to create you own topologies without any issues.