For a long time, I dreamed of spinning up and maintaining a local Kubernetes cluster to run my personal apps 24/7. why not bring production-grade chaos to your living room?
After some hardware hunting, I managed to put together a tiny but mighty cluster. It runs K3S and Cilium, and it hums quietly under my printer, plotting world domination one pod at a time.
The installation was very simple, just install Ubuntu LTS and then run the K3s scripts. Nothing too complicated.
The Cilium installation was mostly done by following this very nice post: Bootstrapping K3s with Cilium
Since I don’t have a static IP (thank you entel), I rely on dns-update-job to update my public IP on Cloudflare every 5 minutes. Then, using external-dns, I configure all my ingress hosts as CNAMEs pointing to that dynamic domain. Works like magic… most of the time.
To access the cluster from the outside world, I’ve set up the Cilium load balancer on a fixed local IP, which is exposed via DMZ.
For those “AI tinkering” days, I plug in my ASUS Legion laptop to the cluster and fire up the gpu-operator to run small models with ollama. It’s like giving your cluster a temporary superpower boost.
Deployments and configuration are all managed with Argo CD because clicking through dashboards is sooo 2020. I use Update cli to keep my Helm charts and dependencies fresh and running always the latest version.
Conclusions
I’ve had the cluster running for almost 10 days, and I’ve learned a lot (mostly about Cilium) and had a lot of fun with some very cheap hardware.
What would you run on your own local Kubernetes cluster?