Added sudo detection and compatibility in scripts

master
Meliurwen 4 years ago
parent 0f2d304f4c
commit 5a6c8229c6
Signed by: meliurwen
GPG Key ID: 818A8B35E9F1CE10
  1. 4
      README.md
  2. 25
      custom/generate_ssh_cluster.sh
  3. 31
      custom/install_kubectl.sh

@ -31,6 +31,10 @@ Minimal requirements:
Once the unattended installation finished successfully we should prepare the environment inside the VM.
> **user:** `virtualuser`
>
> **password:** `test`
Launch this script:
```sh

@ -1,12 +1,21 @@
#!/bin/sh
if [ "$(id -u)" -ne 0 ]; then
echo "This script should be run as root. Aborting..." > /dev/stderr
exit 1
fi
# 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
echo "Creating SSH key..."
su -c 'ssh-keygen -t rsa -b 4096 -q -N "" -f ~/.ssh/id_rsa' "$SUDO_USER"
echo "Adding SSH key to authorized..."
su -c 'cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys' "$SUDO_USER"
echo "Creating SSH key..."
ssh-keygen -t rsa -b 4096 -q -N "" -f ~/.ssh/id_rsa
else
echo "Adding SSH key to authorized..."
cat ~/.ssh/rsa.pub >> ~/.ssh/authorized_keys
echo "Creating SSH key..."
ssh-keygen -t rsa -b 4096 -q -N "" -f ~/.ssh/id_rsa
echo "Adding SSH key to authorized..."
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
fi

@ -53,12 +53,25 @@ kubeadm config images pull
echo "Initializing kubernetes.."
kubeadm init
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=/etc/kubernetes/admin.conf" | tee -a ~/.bashrc
# 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=/etc/kubernetes/admin.conf\" | tee -a $SUDO_HOME/.bashrc" "$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=/etc/kubernetes/admin.conf" | tee -a ~/.bashrc
fi

Loading…
Cancel
Save