Project K8s Homelab
Giving New Purpose To Old Hardware
4 min read
Read TimeFebruary 2, 2025
Published OnThere's a quote by Alan Key, who I have never heard about until I read this quote, but Alan Key was one of the key figures behind the development of the graphical user interface (GUI) and the concept of object-oriented programming, and given the field I'm in, those are two things I have heard about. But Alan Key once said, "People who are really serious about software should make their own hardware".
Truthfully, I don't exactly know what he meant by that, but my interpretation is that we should understand everything about something, rather than something about everything. Now, I see myself more as someone who knows a little about a lot of things. The good news is that I simply need to start focusing and make it my goal to know absolutely everything on a particular something, and that something for me is DevOps.
Then there's also the more literal interpretation of that quote, which is the latter part, i.e. to make your own hardware. Now, I don't think I'll go to that extreme yet, i.e. actually manufacturing the hardware components, but let's start by getting a more hands-on approach with hardware, which is one of the benefits of building your homelab using actual hardware. That's also one of the reasons I chose not to use a hypervisor (e.g. Proxmox) for my Kubernetes homelab. Not that it makes a whole lot of a difference, but bare metal just sounds so much more cooler, in my opinion.
Now, I've never really build my own pc or something, but in my journey of building my own Kubernetes homelab and working with somewhat outdated devices I got off the second market, I knew this was not going to be a plug and play thing.
I have a semi old laptop that I used during my traineeship and 2 mini PC's. One has an i5-processor and the other an i3-processor. However, the i5 came installed with a 8GB ram, while the i3 came installed with a 16GB ram, but I want the 16GB in the i5 and the 8GB in the i3. So after moving one of the 8GB RAM to the i5, this is what I'm currently running with in terms of hardware:
Control plane:
- HP EliteBook 640 G9 i5-1235U/32GB/1TB SSD
Worker:
- HP EliteDesk 800 G2 i5-6400T/16GB/240GB SSD
- HP EliteDesk 800 G2 i3-6100T/8GB/240GB SSD
Internet:
- Modem/router (ISP)
- GL.iNet Beryl AX travel router
- TP-Link LiteWave 5-ports switch
Using the Beryl AX gives me more control over my devices. I have my own subnet and it has a built-in WireGuard server, for example, which I can use to connect to my home server remotely through VPN. However, currently I have only setup a single node cluster with 1 control plane running K3s on Ubuntu Server. The goal now is to replace this with Talos Linux and configure the K8s cluster using the above hardware and setup, which will be a separate blog post, once I've done this. Bye for now!