Kubernetes·6 min read·

Installing a Single-Node Kubernetes Cluster with k3s on a VPS

Install k3s on a single VPS node to get a working Kubernetes cluster in minutes, then verify nodes, pods, and kubectl access.

NB

Netbay Developer Relations

Netbay Engineering

On this page

A full Kubernetes distribution is overkill for learning and for many small production workloads. k3s is a lightweight, CNCF-certified distribution that packs the core control plane and kubelet into a single small binary, plus minimal dependencies. On a single VPS, one k3s install gives you a complete cluster — API server, scheduler, controller manager, and container runtime — with none of the flapping that running vanilla Kubernetes on one node usually involves.

This guide assumes a fresh Ubuntu 24.04 VPS with at least 2 CPU and 2 GB RAM. Any decent cloud host, including a standard Netbay VPS, works fine because k3s needs nothing special from the platform.

Why k3s for one node

  • Batteries included: CNI (Flannel), service load balancer, local-path storage provider, and Traefik ingress all come built in.
  • Single binary install and upgrade.
  • Uses containerd as the runtime, keeping memory and disk footprint small.
  • Everything speaks standard Kubernetes APIs, so manifests you know work unchanged.

Installing the server

The canonical installer downloads a script and runs it with a stable channel. Run it as root or with sudo.

bash
curl -sfL https://get.k3s.io | sh -
sudo systemctl status k3s --no-pager
sudo k3s kubectl get node

The last command should show a single node with status Ready and role control-plane.

Setting up your kubectl

k3s writes a kubeconfig to /etc/rancher/k3s/k3s.yaml. Point kubectl at it, or use the bundled alias.

bash
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
kubectl get nodes -o wide
kubectl get pods -A
kubectl cluster-info

Architecture of the single-node install

With k3s on one box, the control plane and the single worker run on the same host. That is fine for learning and for many workloads, but it means node maintenance takes the whole cluster down.

Your VPS host kube-apiserver :6443 scheduler controller-manager kubelet + containerd runs your pods Traefik ingress local-path storage service load balancer control plane and worker on the same single node

Removing the cluster when done

A single node is easy to tear down and start over, which is one reason it is great for experimenting.

bash
sudo /usr/local/bin/k3s-uninstall.sh

Takeaway

On a single VPS, k3s gives you a real Kubernetes API and a low-memory footprint in minutes. It removes the multi-node complexity so you can focus on learning manifests, services, and ingress — all of which behave exactly as they do on bigger clusters. Reserve a small Netbay VPS, run the one-line installer, and you will have the same cluster API used across the industry — netbayhosts.in.

Keep reading

Follow along on a real VPS

Deploy Linux in under 60 seconds

These guides are written against Ubuntu, Debian, and RHEL-family images — the same ones on NetBay.

Deploy an instance