Use K3S a lightweight Kubernetes variant well suited to the Raspberry PI

K8S has a much larger memory requirement (2Gb) hence opting for K3S. 

For the Container runtime containerd is a production grade runtime that has a much smaller foot print than Docker and a much smaller memory requirement 


The Raspberry Pi Model 3 A+ has built in wifi. You dont need a keyboard, monitor or ethernet cable, headless setup over SSH is a straight forward process

Download Raspbian Buster Lite from here and load onto an SD card

creat an empty file called ssh in the boot folder /rootfs

edit /etc/hosts and set the hostname       localhost

::1             localhost ip6-localhost ip6-loopback

ff02::1         ip6-allnodes

ff02::2         ip6-allrouters       <your host name>

also set the above hostname in  in /etc/hostname


 Disable swap in file /etc/dphys-swapfile


edit /etc/dhcpcd.conf

 interface eth0

static ip_address=

static routers=

static domain_name_servers=

edit /etc/wpa_supplicant/wpa_supplicant.conf and add wifi details


ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev




        ssid="<your networks ssid>"

        psk="<network password>"




turn on the pi and SSH in.

As a first step change the password for ui pi from the default raspberry :- 

change passwd

 Configure each Raspberry Pi Node.

 export K3S_URL=""

export K3S_TOKEN="K10943ff2b010e703201da24dd8cbfd15fbb35eb41e7d35f5f6850505f8243c5309::node:237ea8408361f68b605e7751d834602f"

 curl -sfL | sh -

On the master node verify K3S s running and is connected to each node