Layer 3 · self-hosting reality check
What it actually takes to self-host k3s
The docs say 512 MB server. In practice you want 2 GB server + 1 GB per agent. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Red Hat OpenShift alternatives, where k3s is one of the picks.
| RAM — documented minimum | 512 MB server |
|---|---|
| RAM — what it really needs | 2 GB server + 1 GB per agent |
| CPU | 2 vCPU server |
| Disk | 20 GB plus room for images |
| Monthly cost | $12–24/mo for a single-node cluster, against managed Kubernetes control-plane fees plus per-node cost |
| Setup time | 20 minutes for a working cluster — genuinely |
| How you install it | one curl-pipe-sh install script; it is a single binary containing the whole control plane |
| Ongoing maintenance | Moderate. You own upgrades, certificate rotation (k3s auto-renews but only if it restarts within the window) and etcd or SQLite backups. |
| Where it stops scaling | Hundreds of nodes. k3s is a fully conformant Kubernetes, not a toy — the 'lightweight' refers to the binary, not the capability. |
The thing that catches people out
The single-server default stores cluster state in SQLite on that one node, and losing it loses the cluster — not the workloads' data, but every deployment definition. Back up `/var/lib/rancher/k3s/server/db` on a schedule, or run three servers with embedded etcd. People treat k3s as lightweight and forget it still holds all the state that matters.
When not to self-host k3s
You are running one or two containers. Kubernetes is a scheduler for problems you may not have — Docker Compose or Coolify is the honest answer below a certain size.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 3 self-hosting guides
Common questions
- How much RAM does k3s actually need?
- 2 GB server + 1 GB per agent in practice. The documented minimum is 512 MB server, which is the figure at which the process starts rather than the figure at which it works under real use. 2 vCPU server alongside it.
- What does self-hosting k3s cost per month?
- $12–24/mo for a single-node cluster, against managed Kubernetes control-plane fees plus per-node cost This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for moderate. You own upgrades, certificate rotation (k3s auto-renews but only if it restarts within the window) and etcd or SQLite backups.
- How long does it take to set up k3s?
- 20 minutes for a working cluster — genuinely, via one curl-pipe-sh install script; it is a single binary containing the whole control plane.
- When should I NOT self-host k3s?
- You are running one or two containers. Kubernetes is a scheduler for problems you may not have — Docker Compose or Coolify is the honest answer below a certain size.
- What is the most common mistake when self-hosting k3s?
- The single-server default stores cluster state in SQLite on that one node, and losing it loses the cluster — not the workloads' data, but every deployment definition. Back up `/var/lib/rancher/k3s/server/db` on a schedule, or run three servers with embedded etcd. People treat k3s as lightweight and forget it still holds all the state that matters.