Note that I maintain a parallel configuration that runs a multi-node cluster on Vagrant for local development [1] as well as a docker environment built for CI purposes[2] using almost all the same images, with the same Ansible playbooks to configure them all across platforms.
[1] https://github.com/geerlingguy/raspberry-pi-dramble/tree/mas...
[2] https://github.com/geerlingguy/raspberry-pi-dramble/tree/mas...