Motivation: My initial motivation was to learn more about Kubernetes. When my little home server (a Zotac CI 327) had an outage caused by a SSD failure I started thinking of moving from simple Docker to Kubernetes and building a complete failover and load-balancing cluster. I took this as a chance to learn Kubernetes from scratch.

At that time I already had experience with Docker on different architectures (ARM32 and x86) and read a lot about building Kubernetes Clusters based on Raspberry PIs. Most of these manuals and posts using outdated software or complicated workarounds. I wanted a comprehensible description as easy as possible - which I will summarize in the following series of blog posts:

Part 1: Setup the hardware

Part 2: Prepare the OS

Part 3: Install Docker and Kubernetes

Part 4: Setup a LoadBalancer and NFS

Part 5: Add a x86-Node

Part 6: Deploy a cert-manager and ingress-controller

Part 7: Deploy Kubernetes-dashboard and metrics-server

The final hardware setup will look like this:

The final hardware setup

The setup contains one Rasperry Pi as master node and 3 PI's as worker nodes a NFS storage and x86 nodes.

Remark: The DNS forwarder is an old Raspberry PI 2 which uses Dnsmasq to do DHCP and also forwarding local DNS requests to an internet DNS provider. This is optional and not needed for this guide. (It's similar to the well known Pi-Hole project)

Thought and done: I spent money for 4 Rasperry Pi 4 with 4 GB of memory at a local electronic dealer that made a special offer at that time and bought all other equipment at Amazon.

This is a list of the equipment:

Quantity Item Price
1 6-port 60W USB Power adapter € 21,90
1 6-Layer Raspberry PI tower case (only 4 used) € 19,99
1 4 x USB-C to Micro-USB adapter € 5,99
4 Micro-USB cable € 2,99
1 8-port L2 Ethernet switch € 24,90
4 32 GB microSD flash card € 6,81
1 5 x 0,5m CAT7 flat ethernet cable € 18,99
=======
€ 130,97

If you are interested - this is a prepared Amazon shopping list:

Sehen Sie sich meine Liste bei Amazon an!
The equipment for the hole Pi stack

After assembling all parts and first power on test it the result should look like this:

The "tower" of 4 PIs

Hint: A Raspberry PI 3B/3B+ is a lot cheaper and also capable of the 64-bit architecture and handling all necessary containers for a Kubernetes cluster, but the Pi 4 with 4 GB memory performs a lot better. To reduce overall costs the project can also be started based on RPI 3, but the K8 master node should be final - because it's not easy to exchange the Kubernetes master afterwards.

The next part of the series will describe the OS preparation.