

I run k3s on a single node and it’s not really that much more overhead than Docker Compose if you understand k8s. I mostly have a deployment.yaml, service.yaml, ingress.yaml, and network-policy.yaml for each service that I’ve copy / pasted and updated. Here are some of the benefits over Docker Compose for my setup:
-
Has a built-in Traefik reverse proxy / ingress controller so I can access my services by domain name instead of by port, like http://jellyfin.lan/, http://forgejo.lan/ (using local dns on my OpenWRT router)
-
I use the Calico CNI so I can have network policies for each service to allow them to access only what they need. If a service doesn’t need internet access, it doesn’t get it.
-
I use Bitnami Sealed Secrets to store my secrets in YAML files that can be safely stored in git
-
ConfigMaps make it easy to manage configuration files
-
Easier to have separate YAML files for each service while sharing a network between them. Services connect to each other like http://forgejo.forgejo.svc.cluster.local/
Of course, if you’re looking to load balance across multiple machines, k3s makes even more sense.





I guess anyone who uses ShitLocker is shit out of LUKS.