High-Availability Home Kubernetes Cluster

At one time, over 5 years ago now, it seemed like creating a Raspberry Pi cluster was the thing to do. Given the limited compute and memory resources of the boards, I never thought it was really worth the investment. But, I have to admit, I was always intrigued by the idea and wanted something like that of my own. After doing some research, I had initially wanted to build this project using all Dell Wyse components, 2 5070s, and 5 3030s, to be precise, but I found the 3030s to be completely frustrating unreliable. Getting them to boot into BIOS to even install an operating system was taking way too much time. Therefore, this passion project of mine went on the back burner, again. However, when I recently received a couple of new Raspberry Pi 5s, I thought that it would be a great opportunity to use the new, more powerful, board in a project and also as an homage to all those Pi clusters of the recent past.

This project is the result of my years of experience and interests as a software developer, 3d printer, and electronics hobbyist. Everything can always be improved, but I think for the amount of time and money I wanted to invest in this project, I actually stayed well below my budget for both, and created a system that would not be production-worthy for a company, but far exceeds anything as far as hosting personal projects.

The goal of this project was to setup a High-Availability (HA) Kubernetes cluster in my home so that I could deploy my own projects efficiently and in a way that they could run perpetually. This is not something that is possible with minikube, nor cost-effectively with a cloud provider. I had also desired to gain more experience in home Networking and Linux Administration, particularly with the use of Ansible. With those goals this mind, I am very happy with the outcome of this project and am excited to continue developing with it!

High Availability Cluster Considerations

Cluster Components

Control Plane Nodes

Control Plane Nodes

The control plane is hosted by two Dell Wyse 5070s, serving as the brain of the Kubernetes cluster. They are very reliable thin client workstation PCs, with many ports, 4K dual-monitor output, and have a solid compact form. They are moderately powerful, especially for the price since they go for about $30 on EBay. I've also upgraded one with a 500GB SSD and 16GB RAM(8 x 2), and the other with a 250GB SSD and added the RAM I had replaced in the first, doubling its memory to 8GB.

Technical Specifications
80mm Fans (see banner photo)
Raspberry Pi Board

Worker Nodes

The worker nodes consist of a Raspberry Pi 5, Raspberry Pi 3 Model B, and Raspberry Pi 3 Model B+. I finally received the Raspberry Pi 5 (2 of them, actually) and decided to use one in this cluster. The 3s are both ones that I had purchased in the past and reused for this project.

Raspberry Pi 5
Raspberry Pi 3 B+
Raspberry Pi 3 B
30mm Fans
Network Switch

Network Switch

The TP-Link 8 Port Gigabit Switch forms the backbone of the cluster's network infrastructure (after the router). With a Cat8 cable going to my router and flat Cat 6s (easier to manage than round) going to each node, it is ensuring efficient data transfer within the cluster. It comes from a reputable company with rave reviews. It was simply plug and play for me, and I have WiFi as "redundancy".

TP-Link 8 Port Gigabit Switch
Flat Cat6 Cables
Power Supply

Power Supply

The CyberPower ST425 Standby UPS System (425VA/260W) powers the entire cluster, including the router, and safeguards it against both power outages and surges. Unexpected power disruptions are not something many people consider, especially in a big city like New York, but they do happen, like when I was setting up this cluster and the power supply worked as expected.

Check it out

3D Printed Components

I've had a 3D printer for a number of years now after an old roommate left me theirs when they moved out. It was not a good printer. I would usually need to print something at least 2 or 3 times to get it right and printing anything that took a long time was also out of the question because it was bound to fail in some way. However, I was always really impressed with the technology though, and I even have a lot of experience designing things with Autodesk Fusion 360, over the years, but having to pay thousands of dollars or tinker with some DIY or DIY-lite model to replace the free one I had was not appealing to me.

That all changed recently when I purchased a Bambu P1P. This thing is absolutely amazing! The print quality is fantastic, it is so fast, and they even have their own BambuLabs software for plating and slicing. It has been an absolute dream come true and rekindled my interest in 3D printing. These are components I actually designed and printed for this project.

Universal Stackable Raspberry Pi Case

Universal Stackable Raspberry Pi Case


A specially-designed stackable holder for a Raspberry Pi that also provides room for the cooling fan.

View Files
Rasberry Pi Cooling Shroud

Universal Raspberry Pi 30mm Fan Mount

An innovative Raspberry Pi fan mount that fits on all full-sized models of the board. I could not find another out there which fit on every board, had such a low profile, nor was so efficient with material.

View Files
Wyse 5070 Foot Mount

Wyse 5070 Foot Mount

This is another original piece I whipped up for the Wyse 5070 to stand on. Without it, slight movement would make it wobble terribly, or, worse, fall over.

View Files