← Back to labs

K3s Performance Benchmark

KubernetesK3sPerformance

Summary

K3s was being considered for resource-constrained edge sites (Raspberry Pi/mini-PC) instead of taking Rancher's marketing at face value, so real resource consumption, startup time, and workload performance were compared against K8s on limited hardware.

System Context

  • Test hardware: 4-core / 8GB RAM mini-PC, matching the intended edge deployment
  • Compared against kubeadm K8s 1.29 on identical hardware
  • Benchmark workload: stress-cpu plus a sample Node.js app

Checklist

  • Measured idle RAM: K3s vs kubeadm K8s on the same hardware
  • Measured time from install to cluster Ready
  • Ran a load test workload, compared CPU throttling
  • Identified which enterprise K8s features are missing in K3s (e.g. some CSI drivers)

Commands

Step 1
curl -sfL https://get.k3s.io | sh -
Step 2
kubectl run stress --image=polinux/stress -- stress --cpu 2
Step 3
kubectl top nodes
Step 4
k3s kubectl get --raw /metrics

Conclusion

K3s uses 40% less memory than kubeadm-based clusters on identical hardware. Startup time is under 30 seconds. Suitable for edge deployments and development environments, but lacks some enterprise features.