UPDATE 13/08/20: Updated post to reflect the more recent addition of the Raspberry Pi 4B 8GB and SSD Storage to the list.
When I wrote my goals post for this first quarter, I mentioned that I wanted to start a home lab project for a Raspberry Pi Kubernetes Cluster. In this series of posts, I will document each step of the build and talk through what use cases I am targeting. I will also share any gotchas and issues I run into!
Getting Started
Before starting out this project I already had a few Raspberry Pi components kicking about, I had a 3B+ that NGINX gave me last year and a 4B that I got at the local Pi store here in Cambridge sometime last year (but it’s been gathering dust not doing a lot since then).
Below I list out everything I am using in the project via Amazon links for ease of use, although I’ve sourced things from multiple places. As an Amazon Associate I earn from qualifying purchases. For a full list of all the kit I use at home visit my kit.co profile.
Shopping List
- Raspberry Pi 4 Model B 4GB [Amazon] – x2
- Raspberry Pi 4 Model B 8GB [Amazon] – x3
- Pi Rack Case for Raspberry Pi 4 [Amazon] – x2
- SanDisk Ultra 32GB Micro SDHC [Amazon] – x5
- Anker USB C Wall Charger 60W [Amazon] – x1
- Netgear GS308 Gigabit Switch [Amazon] – x1
- Samsung T5 1TB Portable SSD [Amazon] – x1
- Pack of 0.25m Ethernet Cable [Amazon] – x1
- Anker USB C to USB 3.0 Cable [Amazon] – x4
- Anker USB C to USB C Cable [Amazon] – x1

I’ve taken a bit of a gamble on the power front with the Anker 60W adapter, it may not have enough power output for all of the RPi4’s, however I wanted to try and keep the number of electrical sockets used down to a minimum. If I see any issues, then I’ll just switch over to the official power supplies.

One thing I would recommend is to give the boards a quick check over for any defects. One of mine has a small defect on the GPIO connector which meant that the fan pins won’t fit with the clearance available in the rack kit. Not to worry though, a quick trip down to see my Dad resolved that, he’s got all the equipment needed to reflow the board. Easier than sorting an exchange out.
Why am I doing this?
As I said in my previous post, I saw some good material in the community over the last couple of months, plenty of tweets and blog posts sharing builds and instructions. I wanted to give it a go for myself and have an interesting side project that I could use to create content and learn some new things.
I am going to start with running k3s as I want to try out k3sup and it is a good place for me to install OpenFAAS and get some additional function experience under my belt. I will be using guides already provided by Alex Ellis so I will be referencing those as I go along.
Beyond that I would like to see if I can connect this up to Azure DevOps as an environment target for pipelines. This will give me a simple cluster to test deployments against without the time required for me to spin-up something like AKS each time I do some more testing. A lot of the work I do in my own time comes out of my own pocket, so I try to be sensible with my use of cloud resources.
Finally, I will likely install some home automation software of some description, maybe Home Assistant. I already have a few devices around the home (Echo, Hue, SmartThings) but would like to see what I can roll myself and if I can integrate a little more.
What’s next?
Now I have everything delivered and ready to go I will need to physically assemble the rack and put the RPi’s in place. The kit comes with heatsinks and fans so keeping the cluster cool shouldn’t be an issue at all. I will post some pictures in my next post once it is complete, I don’t think I will cover all the process in detail as it is straightforward, and the kit comes with instructions.
My next post will cover the software required to start the build and my thoughts on customisation, unattended setup, reducing the power footprint and things like that.