Solution

VPS for Kubernetes and K3s clusters

Cutter 8 · $34/moCutter 16 · $62/mo
Short answer

A K3s control plane node needs 2 cores and 4 GB; a full kubeadm control plane wants 4 GB minimum and 8 GB to be comfortable. Worker nodes are sized by your workloads. Three Cutter 8 instances across three jurisdictions give you a genuinely fault-tolerant cluster for under $110 a month, with private networking over WireGuard between regions.

What you need

Specification floor for kubernetes nodes
ResourceWhat you actually need
Control plane2 vCPU / 4 GB for K3s, 4 vCPU / 8 GB for kubeadm
WorkersSized to workloads; 4 vCPU / 8 GB is a sensible unit
DiskNVMe for etcd — it is fsync-latency sensitive
NetworkWireGuard mesh between regions; native IPv6 for dual-stack clusters

Recommended plans

Cutter

Cutter 8

$ 34 /month
vCPU
4 × dedicated
RAM
8 GB
Storage
160 GB NVMe SSD
Transfer
10 TB
IPv4 / IPv6
1 / /64 routed
Configure
Cutter

Cutter 16

$ 62 /month
vCPU
6 × dedicated
RAM
16 GB
Storage
320 GB NVMe SSD
Transfer
15 TB
IPv4 / IPv6
1 / /64 routed
Configure
Clipper

Clipper 16

$ 92 /month
vCPU
8 × dedicated
RAM
16 GB
Storage
400 GB NVMe Gen4 SSD
Transfer
30 TB
IPv4 / IPv6
1 / /64 routed
Configure

Recommended locations

Location is usually the decision that matters most for this workload — either because latency dominates, or because jurisdiction does.

Why OnionVPS for this

  • Dedicated cores keep etcd's fsync latency predictable, which is what keeps a cluster healthy.
  • Routed IPv6 /64 per node makes dual-stack clusters straightforward instead of a research project.
  • Instances in 40+ countries let you build a genuinely multi-jurisdiction control plane.
  • The REST API and Terraform provider mean node pools can be scripted like any other cloud.

How to set it up

  1. Deploy three instances in different regions

    Three is the minimum for etcd quorum.

  2. Build a WireGuard mesh

    Give each node a private address and route the cluster CIDR over it.

  3. Install K3s with the embedded etcd

    curl -sfL https://get.k3s.io | sh -s - server --cluster-init on the first node.

  4. Join the remaining servers and any agents

    Use the node token from /var/lib/rancher/k3s/server/node-token.

  5. Install an ingress and cert-manager

    Traefik ships with K3s; add cert-manager for automatic certificates.

Frequently asked questions

What are the minimum specs for a Kubernetes node?

K3s runs a control plane in 2 vCPU and 4 GB. Full kubeadm wants 4 GB as an absolute floor and behaves much better with 8 GB. Workers are sized entirely by what you schedule on them.

Can I run a multi-region Kubernetes cluster?

Yes, over a WireGuard mesh. Keep etcd members within about 100 ms of each other or the Raft heartbeat becomes unstable.

Is etcd disk performance important?

Critically. etcd fsyncs on every write; on HDD or heavily contended storage the cluster becomes unstable under load. Always put it on NVMe.