#!/bin/bash export DEBIAN_FRONTEND="noninteractive" export KUBERNETES_VERSION="1.22.6-00" export DPKG_LOCK_TIMOUT="-1" ############################################# # Disable UFW cause of Problems with Docker # ############################################# echo '> Disable ufw and purge iptables ...' sudo systemctl stop ufw.service sudo systemctl disable ufw.service sudo iptables -F ######################################## # Letting iptables see bridged traffic # ######################################## echo '> Letting iptables see bridged traffic ...' test -e /etc/modules-load.d/k8s.conf || cat < Installs packages needed to use the Kubernetes apt repository ...' sudo apt-get -o DPkg::Lock::Timeout=${DPKG_LOCK_TIMOUT} update sudo apt-get -o DPkg::Lock::Timeout=${DPKG_LOCK_TIMOUT} install -y apt-transport-https ca-certificates curl gnupg lsb-release #################################### # Configures Containerd # #################################### echo '> Configure Containerd ...' sudo test -d /etc/containerd || sudo mkdir /etc/containerd sudo test -e /etc/containerd/config.toml || sudo cat > /etc/containerd/config.toml < Configure Docker ...' sudo test -d /etc/docker || sudo mkdir /etc/docker sudo cat < Set up stable Docker repository ...' echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null #################################### ## Add Docker’s official GPG key: ## #################################### sudo test -e /usr/share/keyrings/docker-archive-keyring.gpg || curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ################################ # Update the apt package index # ################################ echo '> Update the apt package index ...' sudo apt-get -o DPkg::Lock::Timeout=${DPKG_LOCK_TIMOUT} update ########################### ## Install Docker Engine ## ########################## echo '> Install Docker Engine ...' sudo apt-get -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' -o DPkg::Lock::Timeout=${DPKG_LOCK_TIMOUT} install -y docker-ce docker-ce-cli containerd.io ############################# ## Start and enable Docker ## ############################# echo '> Start and enable Docker ...' sudo systemctl enable docker sudo systemctl daemon-reload sudo systemctl restart docker ################ # Disable SWAP # ################ echo '> Disable SWAP ...' sudo sed -i~ /swap/d /etc/fstab ##################### # Configure Kubelet # ##################### sudo test -d /etc/systemd/system/kubelet.service.d || sudo mkdir /etc/systemd/system/kubelet.service.d sudo test -e /etc/systemd/system/kubelet.service.d/20-hcloud.conf || sudo cat > /etc/systemd/system/kubelet.service.d/20-hcloud.conf <