I'm currently setting up a cluster of Raspberry Pi 5s, each with only 2GB of RAM, to keep power usage low. I'll start by going through Kubernetes the hard way to get a solid grasp of it first, but I find Kubernetes tends to consume quite a bit of resources. After that, I plan to switch to K3S, hoping for better performance with my limited hardware since I want to host my own SaaS. I won't worry about high availability in my development environment on Hetzner where I'm getting a dedicated VPS to run K3S, just a server and a couple of agents will do. For production, I'll configure a highly available K3S setup with multiple servers and agents, but I'm also curious about the budget limitations for worker nodes. Is the biggest drawback of K3S that it's not managed, meaning I'd have to handle everything myself? I hope this approach turns out cheaper than using services like EKS.
5 Answers
Consider trying out Nomad for your homelab—it might fit your needs better given your hardware. It provides similar scheduling functionalities without the heavier overhead of Kubernetes.
With only 2GB of RAM, you might be pushing your luck. Kubernetes can be a heavy burden on such limited resources. K3S is a lighter option but still carries some overhead. If you're seriously limited on RAM, consider starting with just 2-4GB minimum if possible. Using Kubernetes might not be the best route for your lightweight setup.
If costs are a concern for your hobby project, you might want to explore platforms like railway.app or fly.io instead. K8s is great for larger operations, but it might not be worth it for small-scale personal projects. I manage my own projects on a homelab, but that’s mainly for learning purposes. Just keep an eye on the costs; they can really add up with K8s.
If you're just starting, maybe stick with bare Linux for your basic tasks. You could run K3S on a single node for now and automate your backups. It simplifies things quite a bit, especially for small-scale projects.
Yeah, but for my core SaaS application involving enterprise data, I need better reliability than that setup allows.
Honestly, Kubernetes might not be ideal for your particular situation. It's designed for larger-scale deployments. Perhaps explore alternatives or see if self-hosting without K8s might actually suit your needs better.
I thought the same, but self-hosting without K8s looks quite tough. I need something manageable, which is why K3S is on my radar.
The K8s hard way documentation suggests it should be manageable with that RAM, which is why I thought it would work for K3S too.