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
YAML Manifests
Manifests I use can be found in here: https://github.com/aliAljaffer/homelab
Photo updates
UPDATES Mar. 10, 2026
Cert Manager + ExternalDNS in Action
All my ingresses:
- Get a Private IP (Thanks to MetalLB)
- Are assigned a DNS record on my domain (Thanks to ExternalDNS)
- Get SSL certificates and communicate over HTTPS (Thanks to cert-manager)
Accessing my applications becomes easier!
UPDATES Nov. 17, 2025
A new toy in town: ArgoCD
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!
Ran my first workflow to build and deploy THIS website on a Kubernetes pod! :)
RAM upgrade! 2GB -> 16GB
UPDATES Nov. 6, 2025
New node!
- 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
UPDATES Nov. 5, 2025
Pi-Hole
Upgrades
Before SSD upgrade
After: SSD upgraded, thermal paste changed
Cluster is ready! 😊
Text Updates
2026-03-10: (dns) I installed ExternalDNS and Cert Manager - now my apps are managed under my domain with TLS :)
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.