You can run it on multiple virtual machines from your laptop. Doing it this way you can run into an issue where docker doesn't work right due to multiple layers of virtualization depending on your setup and processor. You can avoid this by using containerd as the runtime instead of docker if you run into that issue.
I've thought before it would be interesting if there was a cloud mock Kubernetes service that returned command output with no backend for learning that was either cheap or free.
One way you can actually work with a setup like this is ChatGPT+ with gpt-4.
Ask it to pretend to be a Kubernetes cluster with the desired number of nodes and act as a Linux terminal prompt with access to the cluster, also please don't return any text except the command output. If I need to ask other questions outside of sending commands I'll put it in {}.
It helps if you also say thank you in the prompt. If it starts deviating say "please stay in character"
I've found this to be a handy way to simulate Linux boxes, Kubernetes clusters, Cisco routers, switches, all kinds of fun stuff.
One last thing I'll mention, learn a bit of terraform or another IaC tool and you can spin up the cluster and delete at will. I find terraform to be especially good for being able to create entire blocks of infrastructure and destroy them easily and thoroughly. Then when you're ready to work or done working you can bring the cluster up and down. You can shave a lot off the monthly cost this way.
Going back to gpt-4 again, there are good templates online - or you can have gpt-4 write the terraform for you describing what you want as well as have it explain the basics of using terraform.