05. November 2022
A guide on how to set up a K3S API Server on a Rasberry Pi 4 4GB model.
Use Rasberry Pi imager to create a Ubuntu Server on a SD card or a SSD/HD.
Prefer Switching to USB SSD or HD for better performance
Install these packages
1sudo apt-get update
2sudo apt upgrade -y
3sudo apt-get install git -y
4sudo apt-get install curl -y
Install ssh and create a key
1sudo apt-get install sshpass -y
2sudo apt-get install openssh-server -y
3ssh-keygen -t ed25519 -C "${k3s_user} ${HOSTNAME}"
4eval $(ssh-agent -s)
5ssh-add ~/.ssh/id_ed25519
Install Needed packages for longhorn, containered and k3s
1sudo apt-get install containerd -y
2sudo apt-get install open-iscsi -y
3sudo apt-get install linux-modules-extra-raspi -y
Install and Deploy K3s
1
2curl -sfL https://get.k3s.io | sh -s - server --disable servicelb --disable traefik --write-kubeconfig-mode 644 --kube-apiserver-arg default-not-ready-toleration-seconds=30 --kube-apiserver-arg default-unreachable-toleration-seconds=30 --kube-controller-arg node-monitor-period=20s --kube-controller-arg node-monitor-grace-period=20s --kubelet-arg node-status-update-frequency=5s
Get Node Token And Get CLuster Config
1sudo cat /var/lib/rancher/k3s/server/node-token
2sudo cat /etc/rancher/k3s/k3s.yaml