← Back to Portfolio
Publish date: 2025-11-05

K3s Cluster Homelab

Overview

This is a project I wanted to work on for some time now. Creating my own Kubernetes cluster, starting with k3s and moving onto kubeadm later! To start with my first node and control plane, I'm using a Macbook Pro Mid-2012 system with Ubuntu 24.04 installed. As of November 1st, 2025, it has 2GB RAM and a 500GB HDD.
The end-goal is to add a few more nodes and use this cluster to learn K8s networking, Persistent Volumes, and Cluster administration. And to also use Pi-Hole ;)
Why k3s? It's not as resource-heavy as other cluster managers. Lightweight enough to run on a Raspberry Pi. But as soon as I upgrade the RAM, I'll probably move to MicroK8s

Nodes

  • Control Plane: Macbook Pro, Mid-2012
    • OS: Ubuntu 24.04
    • RAM: 2GB ~Upgraded~> 16GB DDR3
    • Storage: 500GB HDD ~Upgraded~> 240GB SSD
    • CPU: Some Intel i5 2.5Ghz
  • GPU Node: Custom-Built PC
    • OS: Fedora Workstation 43
    • RAM: 32GB
    • Storage: 3x 2TB NVMe
    • CPU: AMD Ryzen 7 7800x3D
    • GPU: RTX 4070 Ti Super

Running Deployments

Helm Charts Used

Photo updates

UPDATES Nov. 17, 2025

A new toy in town: ArgoCD

Image
Image
We're up and functional! Really enjoyed getting to know this tool and I can immediately feel the benefits of it.

UPDATES Nov. 8, 2025

Self-hosted GitHub Action Runners!

Image
Ran my first workflow to build and deploy THIS website on a Kubernetes pod! :)

RAM upgrade! 2GB -> 16GB

Image

UPDATES Nov. 6, 2025

New node!

Image
  • New node specs:
    • OS: Fedora Workstation 43
    • CPU: AMD 7800x3D
    • Memory: 32GB
    • GPU: RTX 4070 Ti Super
    • Tainted with gpu=nvidia to run exclusively for ML workloads
  • Prometheus + Grafana Monitoring stack with External IP using MetalLB for Grafana
  • Pi-hole now runs its service as NodePort

Grafana Control Plane Monitoring

Image

UPDATES Nov. 5, 2025

Pi-Hole

Image

Upgrades

Before SSD upgrade
Image
After: SSD upgraded, thermal paste changed
Image

Cluster is ready! 😊

Image

Text Updates

2025-11-08: (ram) Ram arrived, works wonderfully!
2025-11-07: (nodes) Added new Node running Fedora, 32GB RAM, AMD 7800x3D, and RTX 4070 Ti Super for ML workloads (tainted)
2025-11-06: (pihole) Pi-Hole is running and blocking! :)
2025-11-05: (os) Purchased a Kingston 240GB SSD off Amazon, installed Ubuntu 24.04 LTS!
2025-11-01: (ram) Well. One of the RAM sticks is causing the system to crash on boot. Time for new ones. Ordered 2x8GB DDR3 sticks.
2025-11-01: (start) Journey starts! Acquired this old Macbook from my sister. i5 2.5Ghz, 4GB RAM, and a WD Blue 500GB HDD.