Files
bitcoin-tutorials/k8s/install.microk8s.sh
2022-05-01 12:26:36 +01:00

101 lines
2.7 KiB
Bash

#!/bin/bash
# install microk8s and helm on Debian 11 - RaspiBlitz
if [ "$1" = on ]; then
sudo adduser --disabled-password --gecos "" k8s
echo '/usr/share/doc/fzf/examples/key-bindings.bash' >> ~/.bashrc
echo '/usr/share/doc/fzf/examples/completion.bash' >> ~/.bashrc
sudo usermod -a -G sudo,bitcoin,debian-tor k8s
sudo su - k8s
# https://www.server-world.info/en/note?os=Debian_11&p=microk8s&f=1
sudo apt update
SSDmount="/mnt/ext"
sudo mkdir -p /var/snap
sudo mv -f /var/snap ${SSDmount}/
sudo ln -s ${SSDmount}/snap /var/snap
sudo apt install -y snapd
sudo snap install microk8s --classic
echo 'export PATH=/snap/bin:$PATH' >> ~/.bashrc
echo "alias kubectl='microk8s.kubectl'" >> ~/.bashrc
source ~/.bashrc
sudo usermod -a -G microk8s k8s
sudo chown -f -R k8s ~/.kube
newgrp microk8s
# microk8s.inspect
# troubleshooting steps on Debian
# https://microk8s.io/docs/troubleshooting
sudo iptables -P FORWARD ACCEPT
sudo apt-get install -y iptables-persistent
echo '{
"insecure-registries" : ["localhost:32000"]
}
' | sudo tee -a /etc/docker/daemon.json
sudo ufw allow in on vxlan.calico && sudo ufw allow out on vxlan.calico
sudo ufw allow in on cali+ && sudo ufw allow out on cali+
sudo ufw allow 16443 comment "microk8s"
sudo ufw allow 10443 comment "kubernetes-dashboard"
SSDmount="/mnt/ext"
## part of the docker install script
# echo "### 3) Symlink the working directory to the SSD"
sudo systemctl stop docker
sudo systemctl stop docker.socket
sudo mkdir -p /var/lib/docker
sudo mv -f /var/lib/docker ${SSDmount}/
sudo ln -s ${SSDmount}/docker /var/lib/docker
sudo systemctl start docker
sudo systemctl start docker.socket
microk8s stop
## symlink the microk8s containerd and default-storage to the SSD
SSDmount="/mnt/ext"
sudo mkdir -p ${SSDmount}/microk8s/common/var/lib/containerd
sudo mkdir -p ${SSDmount}/microk8s/common/run/containerd
echo "--config \${SNAP_DATA}/args/containerd.toml
--root ${SSDmount}/microk8s/common/var/lib/containerd
--state ${SSDmount}/microk8s/common/run/containerd
--address \${SNAP_COMMON}/run/containerd.sock
" | sudo tee /var/snap/microk8s/current/args/containerd
microk8s start
microk8s enable helm
microk8s enable dns
microk8s enable dashboard
microk8s enable storage
microk8s enable ingress
microk8s enable registry
# make the config permanent
microk8s config > ~/.kube/config
sudo chmod 0600 /home/k8s/.kube/config
# helm
sudo snap install helm --classic
fi
if [ "$1" = off ]; then
helm uninstall galoy
sudo snap remove helm
microk8s reset [--destroy-storage]
microk8s stop
sudo snap remove microk8s
sudo apt remove -y snapd --purge
fi