minute to read
Let’s stick with Nordic mythology. The realm of the dwarves—master crafters and creators—is Svartalfheim. It’s a perfect name for this project, which aims to solve a big issue in the cluster: missing development environments. The goal is simple: add more computational power to the cluster and enable me to develop and manage it entirely from the couch. In a sense, this is the start of the “BoniClaud Couch Cluster.”
Step one of Project Svartalf is to add a second Raspberry Pi to the cluster. There’s never enough computing power, and as I mentioned during Project Yggdrasil, a single node is hardly a cluster.
The second RPi will be a Model 5 with a more powerful CPU, while still keeping 8GB of RAM. Of course, the new Raspberry Pi needs to be prepared and integrated into the cluster. A little foreshadowing: I expected some issues, but not the full range of challenges involved in expanding the cluster.
Kasm lets me run virtualized workspaces in the cloud—or at least, that’s the idea (more on that later). Hosting services is just one part of the equation; I also need a way to develop and manage every component in the cluster. The most important task is improving this blog, so I need a smooth environment to develop Dockerfiles, Helm charts, and standard web applications.
Not every application is cloud-ready. While I don’t expect to run games on the RPi5 (at least not at good performance), having access to office applications is nice. Plus, Kasm’s RDP gateway service might even allow me to stream my desktop PC to my iPad. That would be pretty cool!
Until now, the cluster was really hardcoded. Adding a second node brings a vital new feature: I can unplug one node without taking down BoniClaud. This is the first time the cloud can truly shine. The added node should massively increase the reliability of the cloud—if one node gets overwhelmed, the other can pick up the slack.
Of course, many parts of the infrastructure (like the internet connection and routers) are still single points of failure. But having two nodes means I can experiment with deployments without risking the entire cloud. The new RPi5 was bought exactly for that purpose: to try out more involved setups.
What does a cluster node need? I’m by no means an expert in the field, but now that I have two nodes in my cluster, I’d like to share some feedback on what a node should provide. I introduced several errors and issues when installing the new RPi, and I now realize I should have planned the requirements more carefully. So, what do my nodes need to run, and what do I think a good Raspberry Pi should offer in hardware and software to run Kubernetes effectively?
Sounds simple, right? Just plug in a second RPi, tweak the setup, and double the power? I thought so too. In reality, Project Svartalf turned out to be a full project of its own. Here are the milestones:
This project is all about making the cluster more robust and flexible, while also giving me the freedom to work on it from the comfort of my couch. Stay tuned for more updates as Project Svartalf unfolds!