Installing K3s Control Plane
by Donavan Jones, 2025-09-30T00:00:00.000Z
Installing K3s Control Plane
Introduction
A small Kubernetes cluster is a strong fit for a homelab, especially when it is built from low-power hardware like Raspberry Pis in a rack. K3s keeps the control plane lightweight while still giving you the core Kubernetes features needed to manage workloads, services, secrets, storage, and deployments. In this guide, we will set up the K3s control plane in a way that is practical for a home rack environment, with an eye toward stability, simplicity, and easy expansion later.
Prerequisites
Before you begin, make sure you have:
- A Raspberry Pi cluster ready to use in your rack
- A fresh Raspberry Pi OS or other Linux installation on the control plane node
- Static or reserved IP addressing for the node
sudoaccess on the machine- Network access between all nodes in the cluster
Install K3s on the First Control Plane Node
On the first server node, install K3s with the built-in install script:
curl -sfL https://get.k3s.io | sh -
After the installation finishes, verify that the service is running:
sudo systemctl status k3s
Check that the node joined successfully:
sudo kubectl get nodes
If you prefer using kubectl without typing sudo every time, copy the kubeconfig into your home directory and update the permissions:
mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config
Then test access again:
kubectl get nodes
Verify the Cluster
Once the control plane is installed, check the cluster components and make sure the node is ready:
kubectl get pods -A
kubectl get nodes -o wide
You should see the control plane node listed and the system pods moving into a ready state.
Optional: Add More Nodes Later
If your rack grows and you want to add more Pi nodes, you can join them to the cluster as agents or additional servers. K3s makes it straightforward to expand without the overhead of a full upstream Kubernetes installation. That is one of the reasons it works so well in a homelab where simplicity matters.
Conclusion
K3s is one of the easiest ways to get a reliable Kubernetes control plane running on a Raspberry Pi cluster. For a rack-based homelab, it gives you a good balance of lightweight performance and real Kubernetes functionality, which makes it a solid foundation for apps, databases, CI/CD, and other services. With the control plane in place, you can move on to deploying workloads, setting up storage, and building out the rest of your home infrastructure.
