Kubernetes and Nix Cluster

About this time last year, I purchased 3 mini computers with the aim of making a Kubernetes cluster. I followed an excellent youtube video: This homelab setup is my favorite one yet - Dreams of Autonomy (Github Repository) which described the machines to buy (Beelink EQ 13 Mini), how to upgrade the SSD and RAM, how to provision them with NixOS, setup K3S, and connect using kubectl to manage the cluster. You will also have to modify your router’s DHCP settings so you can give the cluster static IP addresses.

Things deployed on it (using Helm/helmfile and kustomize):

These are all in the Github repo linked above. I’ve since experimented with other services on the cluster such as:

Things that have surprised me are:

Things that worked well

Would I do this again?

I’m happy I did this as it’s been a great learning opportunity for me to break things and fix them again. Kubernetes can be a bit off-putting with concepts, how they are linked and how to just deploy something quickly to verify it works. There’s a lot to understand before something works.

I really would only recommend using Kubernetes an Enterprise context where you have more than one workload. For simpler apps, I would stick to docker, docker-compose and things like Dokku. Or of course doing it just for fun, learning and experimenting!