Raspberry Pi 4Bにk8sクラスタを立てる
public.icon
メモ
Dockerのインストールコマンドが古くて使えない
code:shell
sudo sh get-docker.sh
k8sのインストール
code:sh
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
missing required cgroups: memoryが発生
/boot/firmware/cmdline.txtじゃなくて/boot/cmdline.txtにcgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memoryを追記
Kubelet: running with swap on is not supported, please disable swapと怒られる
code:sh
sudo swapoff --all
sudo systemctl stop dphys-swapfile
sudo systemctl disable dphys-swapfile
systemctl status dphys-swapfile
initした後にこれを実行する必要あり
code:sh
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
node接続時にcontainer runtime is not runningで怒られる
code:sh
rm /etc/containerd/config.toml
systemctl restart containerd
node接続時にerror execution phase preflight: couldn't validate the identity of the API Server: invalid discovery token CA certificate hash: invalid hash, expected "format:hex-value". Known format(s) are: sha256で怒られる
discovery-token-ca-cert-hashの先頭にsha256をつける
node接続時にconnection refusedで怒られる
kubeadm resetしてinitからやり直す
Flannel
code:sh
ダッシュボードUI
code:sh
sudo adduser ubic docker
コンテナランタイムとしてdockerが非推奨になってた...
CRI-Oを使うと良いらしい
code:sh
VERSION=1.23
OS=Debian_11
sudo apt update && sudo apt upgrade -y
sudo apt install cri-o cri-o-runc
sudo systemctl daemon-reload
sudo systemctl start crio