Homebrew K8S Setup

I built Kubernetes Cluster out of old hardware for local development

Thomas Chinery by Thomas Chinery on April 11, 2023
Content for my site is based on Digital Gardening. This is a pre-release version of this content and may be incomplete. This article will be updated. Stay tuned and thank you for taking a look.

homebrew-k8s

My homebrew K8S project.

When the COVID-19 Pandemic started many people picked up new hobbies. Mine was designing and building a Kubernetes Cluster from scratch using old Laptop hardware that I could easily source.

At home I built a 4 Node cluster that I can deploy workloads of my personal projects to. This meant that I could develop containers without any vendor lock-in and without Cloud Providers cost (serverless, K8S, or otherwise) for my hobby projects.

Cluster summary

I had 4 nodes (incl. 1 cp node) all with exactly the same specs. It’s consumer hardware so laptops with batteries and screens removed.

Specs per node:

  • 4x CPU Cores @ 2.40GHz
  • 8GB ram
  • 120GB m.2 ssd storage

Specs of cluster with all nodes:

  • 16x CPU Cores @ 2.40GHz
  • 32GB ram
  • 480GB m.2 ssd storage

Under max load the maximum power consumption was 240W.

What I used this cluster for

Learning and development. I used the cluster for application development - it ran instances of prometheus, grafana, and renovatebot.

Upgrades

I could upgrade the cluster with larger SSD’s and extra ram.

Maximum amount of ram the cluster could go to is 64GB.

Maximum amount of storage the cluster could go to is 8TB (with 4x 2TB m.2 SSD’s).

Setup

Please see the SETUP.md file for how I’ve setup the cluster.

TODO

  • Get files from other repository and add them here with a proper description.
  • Workout operating TDP
  • Revise article