Ramblings of an aging IT geek
← Ramblings of an aging IT geek
hardware

four raspberry pis, one switch, and absolutely no point

Building a four-node Raspberry Pi Kubernetes cluster that solved no real problem, and why that was fine.

A stack of small single-board computers wired together

I built a Raspberry Pi cluster. Four Pi 4s, a little stacked acrylic case, a cheap eight-port switch, and a USB charger with enough ports to feed the lot. It does nothing I couldn't do better on the NUC already humming away in the same cupboard. I knew that going in. I built it anyway, and I had a lovely time.

The honest pitch is that there isn't one. People sell these as a way to "learn Kubernetes" or "build a home server", and you can, but a single machine running k3s in a VM would teach you the same concepts with a tenth of the cabling. The Pi cluster is slower, more fragile, and warmer than it has any right to be. What it gives you instead is the physical thing: four blinking nodes you can point at and say, that one's the master, those three are workers, and watch what happens when I pull this one's power.

Small circuit boards and ribbon cabling on a desk

I ran k3s across them because it's light enough to not choke a Pi, and the install really is as gentle as everyone claims. One node got the server role, the others joined with a token, and within twenty minutes I had a four-node cluster reporting Ready. Then I deployed the most pointless workload I could think of, a little web app that returns which node served the request, scaled it to a handful of replicas, and watched the responses bounce around as I yanked Ethernet cables out one at a time. The scheduler shuffled pods off the dead node and life went on. That moment, watching a thing heal itself on hardware I could touch, was worth the whole build.

What did I actually learn? Nothing I'll use at work. The networking is too forgiving on a four-node toy to teach you anything about networking at scale. The storage situation is a polite fiction, because SD cards are not a serious place to keep data and I lost one within the week. And the ARM-versus-amd64 image faff, which used to be a real pain, was mostly handled for me by multi-arch images by now, so even that lesson has gone stale.

But "useful" was never the point, and I think I'd been pretending otherwise to justify the spend. The truth is I like building things with my hands, I like blinking lights, and I like the small satisfaction of cables that route neatly. The cluster sits on a shelf, occasionally running something genuinely throwaway, and every so often I redeploy it from scratch just to feel the thing come up clean.

If you're on the fence, here's my advice. Don't build a Pi cluster to learn distributed systems, build a VM lab for that, it's faster and you'll iterate more. Build a Pi cluster because you want a physical, fiddly, slightly silly object that does real-ish work and looks good blinking in a cupboard. On those terms it's excellent, and I refuse to feel bad about it.