read time minute to read


Project Svartalf

Project Svartalf

  • mdo  jonas
  •   HomeLab
  •   February 16, 2025

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.”

More Power

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.

Desktop Environments

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!

Modularity

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.

A Small Side Note

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?

What to Expect

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:

  1. Prepare the Old Cluster: Clean up, measure performance, and set up the option for a new node.
  2. Prepare the New Node: Install software, update all components, and get it ready for pairing.
  3. Plug-Day: If you thought I could just plug in the new RPi… well, it was more complicated than that.
  4. Cluster Synchronisation: Enable the new node, set up the required services, and make the dream work.
  5. Cluster Expansion: With more power available, relax resource restrictions on existing services and get Kasm up and running.
  6. Monitoring: Keep an eye on the cluster to see if everything’s up and running, identify bottlenecks, and fine-tune performance.

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!

svartalf homelab


Powered by Bludit - Theme by BlThemes
© 2025 BoniClaud