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_init.sh

33 lines
1.3 KiB

#!/bin/sh
if [ "$(id -u)" -ne 0 ]; then
echo "This script should be run as root. Aborting..." > /dev/stderr
exit 1
fi
echo "Initializing kubernetes.."
kubeadm init
# This if statement evaulates if the script is launched using sudo AND not
# a `sudo su` logged user
if [ -n "$SUDO_USER" ] && [ "$SUDO_COMMAND" != "/usr/bin/su" ]; then
SUDO_HOME=$(su -c "echo \$HOME" "$SUDO_USER")
echo "Adding kubernetes config to this user home folder (useful for non-root users)..."
su -c "mkdir -p $SUDO_HOME/.kube" "$SUDO_USER"
cp -i /etc/kubernetes/admin.conf "$SUDO_HOME/.kube/config"
chown "$SUDO_UID":"$SUDO_GID" "$SUDO_HOME/.kube/config"
# This last one thanks to:
# https://stackoverflow.com/questions/53814150/how-to-setup-a-2-node-kubernetes-cluster-in-custom-environment
su -c "echo \"export KUBECONFIG=$SUDO_HOME/.kube/config\" | tee -a $SUDO_HOME/.profile" "$SUDO_USER"
else
echo "Adding kubernetes config to this user home folder (useful for non-root users)..."
mkdir -p "$HOME/.kube"
cp -i /etc/kubernetes/admin.conf "$HOME/.kube/config"
chown "$(id -u)":"$(id -g)" "$HOME/.kube/config"
# This last one thanks to:
# https://stackoverflow.com/questions/53814150/how-to-setup-a-2-node-kubernetes-cluster-in-custom-environment
echo "export KUBECONFIG=$HOME/.kube/config" | tee -a ~/.profile
fi