KevsRobots Learning Platform
15% Percent Complete
By Kevin McAleer, 3 Minutes
Page last updated May 24, 2025

To run K3s reliably on Raspberry Pi, youβll need a clean, minimal 64-bit Linux OS β with a few key configuration tweaks.
In this lesson, weβll walk through choosing an operating system, installing it on each Pi, and preparing for clustering.
| OS | Notes |
|---|---|
| Ubuntu Server 22.04+ | Well-supported, minimal, 64-bit ARM |
| Raspberry Pi OS (64-bit Lite) | Official, stable, but less minimal |
| DietPi or Arch Linux | For advanced users, highly minimal |
β οΈ Ensure youβre using a 64-bit image, not 32-bit β Kubernetes requires 64-bit support.
dd (advanced)ssh in the /boot partition.Power up and SSH in:
ssh ubuntu@<pi-ip-address>
Default password: ubuntu (youβll be prompted to change it)
Update the system:
sudo apt update && sudo apt upgrade -y
Set a hostname for each Pi:
sudo hostnamectl set-hostname pi-master
sudo reboot
Use consistent names like pi-master, pi-node1, pi-node2, etc.
On your router:
Or manually edit netplan (Ubuntu):
network:
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.101/24]
gateway4: 192.168.1.1
nameservers:
addresses: [1.1.1.1, 8.8.8.8]
version: 2
Save to /etc/netplan/00-installer-config.yaml and apply:
sudo netplan apply
Enable cgroups (required for Kubernetes):
Check /boot/firmware/cmdline.txt (Ubuntu) or /boot/cmdline.txt (Pi OS):
Add or confirm:
cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory
Reboot:
sudo reboot
After reboot, confirm:
cgroups are enabledβ Now your Pi cluster is ready for K3s installation!
Next up: Installing K3s
You can use the arrows β β on your keyboard to navigate between lessons.
Comments