DEV Community

Cover image for Kubernetes homelab - Learning by doing, Part 1: Hardware
Sacha Thommet
Sacha Thommet

Posted on

Kubernetes homelab - Learning by doing, Part 1: Hardware

I recently did a 6-month internship, which was extremely interesting and challenging for me!

My role as a Kubernetes consultant intern was to help make sure that the applications we were working on could be deployed reliably.

Kubernetes is a powerful orchestrator that will ease deployment and automatically manage your applications on a set of machines, called a cluster.

With great power comes great complexity. Thus, learning Kubernetes is oftentimes considered to be cumbersome and complex, namely because of the number of new concepts you have to learn.


Hardware

Originally, I wanted to build a three-node cluster (for High Availability).

Here is a summary of the hardware that I have:

Laptop Intel NUC NUC10i3FNK Raspberry PI 4B Raspberry PI 0
RAM 16GB DDR4 · 2133Mhz 32GB DDR4 · 3200Mhz 1GB DDR4 · 3200Mhz 512Mb DDR2
Storage 512GB SSD SATA 1To SSD NVMe 64GB MicroSD 16GB MicroSD
CPU i5-7200U · 2C/4T I3-10110U · 2C/4T 2C/4T 1C/1T
GPU Integrated Integrated Integrated Integrated

Issues encountered

First issue: The Raspberry PI 0 is incompatible

Unfortunately, the Raspberry PI 0 is incompatible with Kubernetes, as described in this Github issue.

The Raspberry Pi Zero has a processor that adopts the armv6 architecture. Unfortunately, its support has been dropped by Kubernetes since v1.6.

Second issue: The Raspberry PI 4B does not have enough RAM

With its 1GB RAM, the Raspberry PI 4B was not very useful. The Kubernetes control plane would use the majority of the free RAM, which leaves no room for the workload.


The issues of my hardware forced me to settle for only two nodes instead of the intended three in my High Availability cluster build.

Concerning the network, I have a modem provided by my ISP which includes a 500Mbps switch, a router and a firewall:

K8s cluster architecture


Power consumption

I measured the power consumption to estimate the monthly cost of running the homelab:

Image description

My router accounts for 12W out of the total 54 Watts, while the two nodes consume 42W when idle.

As of March 2024, the cost of one kWh is 0.25€ in France. Therefore, the operational cost of the homelab is 42*24*30/1000=30kWh * 0.25€ = 7€50 per month.

Top comments (0)