Create your own node. Just run packer build. It will generate an Ubuntu 18.04 vbox image loaded with ALL software and images. It will save time and bandwidth when you re-build the lab 50 times.
Vanilla kubernetes using Vagrant and Ansible. Deploy on Virtualbox.
Networking configuration (IP-IP, VxLAN, and native IP networking). Refer to: https://medium.com/@bikramgupta/learn-kubernetes-pod-networking-by-building-your-own-lab-d425ab51c1cf