Automation of a local dev environment to learn, self-document, save time and avoid to reinvent the wheel
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
debian-unattended/custom/install_kubectl.sh

51 lines
1.7 KiB

#!/bin/sh
if [ "$(id -u)" -ne 0 ]; then
echo "This script should be run as root. Aborting..." > /dev/stderr
exit 1
fi
#
# Following this guide: https://kubernetes.io/docs/tasks/tools/install-kubectl/
#
echo "Updating apt package index..."
apt-get update > /dev/null
echo "Installing prerequisites..."
apt-get -q -y -o Dpkg::Use-Pty=0 install apt-transport-https gnupg2 curl
echo "Adding Kubernetes' repo key..."
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
echo "Adding Kubernetes repo..."
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list
echo "Updating apt package index again..."
apt-get update > /dev/null
echo "Installing 'kubectl'..."
apt-get -q -y -o Dpkg::Use-Pty=0 install kubectl
# TODO: the command `kubectl cluster-info` gives an error and the script
# provided from the docs gives an error. In the docs they are make
# some sort of assumption that I cannot still figure out.
# Ffs this is an entry level doc and they already start to omit not
# obvious stuff... sorry for not owning a magic crystal ball. >:(
# THIS, is a quality doc:
# https://www.valent-blog.eu/2019/01/01/installare-kubernetes-in-debian-9/
# The lines below comes from this doc.
echo "Installing 'kubelet' and 'kubeadm'..."
apt-get -q -y -o Dpkg::Use-Pty=0 install kubelet kubeadm
echo "Marking in hold the packages 'kubectl', 'kubelet' and 'kubeadm' in order to prevent them to update in the future..."
apt-mark hold kubelet kubeadm kubectl
echo "Reloading systemd and restarting 'kubelet' service"
systemctl daemon-reload
systemctl restart kubelet
# I guess these are the base images of kubernetes (?)
echo "Pulling some base images.."
kubeadm config images pull