# kubernetes on debian installPackages() { echo " Package: docker-ce Pin: version 17.03.* Pin-Priority: 1000 " > /etc/apt/preferences.d/docker-ce apt-get update apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - add-apt-repository "deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ $(lsb_release -cs) \ stable" echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' > /etc/apt/preferences.d/limit-unstable curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat </etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update apt-get install -y linux-headers-$(uname -r) wireguard docker-ce kubelet kubeadm kubectl mkdir -p /etc/systemd/system/kubelet.service.d cat > /etc/systemd/system/kubelet.service.d/20-hcloud.conf << EOM [Service] Environment="KUBELET_EXTRA_ARGS=--cloud-provider=external" EOM systemctl daemon-reload } S=$(type -p kubeadm > /dev/null &> /dev/null; echo $?) while [ ${S} = 1 ]; do echo "installing packages..." installPackages S=$(type -p kubeadm > /dev/null &> /dev/null; echo $?) done;