Skip to content

Instantly share code, notes, and snippets.

@dbafromthecold
Last active March 21, 2020 23:38
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dbafromthecold/015d87444a77e12b90433f32fb265f37 to your computer and use it in GitHub Desktop.
Save dbafromthecold/015d87444a77e12b90433f32fb265f37 to your computer and use it in GitHub Desktop.
Steps to install K8s on a raspberry pi 4 running Raspbian Buster Lite
# https://github.com/teamserverless/k8s-on-raspbian/blob/master/script/prep.sh
# https://www.hanselman.com/blog/HowToBuildAKubernetesClusterWithARMRaspberryPiThenRunNETCoreOnOpenFaas.aspx
# config of the raspberry pi on the network
change hostname
change ip
disable swap
# raspbian claiming it's debian v10 when it's actually v9 - curl -sL get.docker.com | grep '9)' -b10 -a10 - no version for buster
sudo curl -sL get.docker.com | sed 's/9)/10)/' | sh
sudo usermod -aG docker pi
sudo cp /boot/cmdline.txt /boot/cmdline_backup.txt
orig="$(head -n1 /boot/cmdline.txt) cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory"
echo $orig | sudo tee /boot/cmdline.txt
# install kubeadm
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubeadm
# https://github.com/kubernetes/kubernetes/issues/71305
update-alternatives --set iptables /usr/sbin/iptables-legacy
# initiate cluster
sudo kubeadm init --apiserver-advertise-address=xx.xx.xx.xx
# configure kubectl to connect to cluster
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment