Let me be honest about the outcome up front: I built a four-node Raspberry Pi cluster and it taught me nothing I'll ever use at work. I'd do it again tomorrow.
The setup is the usual thing. Four Pi 4s in one of those stacked acrylic sandwich cases with a little fan, PoE would have been tidier but I went with four USB-C bricks and a short power strip like a savage. A cheap eight-port switch underneath. I flashed Raspberry Pi OS Lite onto four SD cards, gave them static leases, and ran k3s across them because full Kubernetes on a 1.5GHz ARM core is a cruelty I wasn't prepared to inflict.
k3s came up in minutes, which is genuinely impressive. One node as the server, three agents, and a working cluster you can kubectl get nodes against and feel briefly like a serious person.
Then comes the moment of truth, which is: what do you actually run on it? And the answer, for any honest homelabber, is nothing that needed a cluster. I deployed a Pi-hole. I deployed a little Go web app that prints which node served the request, refreshed it a hundred times, and watched the hostname change. I drained a node and watched the pod reschedule. That was the whole show.
And that's the lesson, except it isn't a technical one. The cluster doesn't make my house faster or my home network better. An SD card dies every few months and a node sulks. But messing about with k3s on hardware I could hold in my hand taught me the shape of the thing in a way no managed control plane ever did, because here I owned every layer and every failure was mine. It was fun, it was cheap, and the four little green LEDs blinking in the corner of the office still make me unreasonably happy.