diff --git a/install_msa.sh b/install_msa.sh index c69a908b6ba436154f0bdaf7ff0741598446caa0..9501ce7b80a83a48659073249f1a824ae289d594 100644 --- a/install_msa.sh +++ b/install_msa.sh @@ -1,9 +1,30 @@ #Save directory of the script in variable SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +USER_HOME=$(getent passwd $SUDO_USER | cut -d: -f6) #Download and install K3s, then create a single node cluster curl -sfL https://get.k3s.io | sh - +#Wait for availability of Traefik-CRDs in the cluster +counter=1 +retries=10 +sleeptime=10 +while [ $counter -le $retries ] +do + ((counter++)) + kubectl get ingressroute + if [ $? -eq 0 ]; then + break + else + if [ $counter -eq $retries ]; then + echo CRDs are not yet available, please install helm-chart manually + exit 1 + fi + echo CRDs not yet ready, retrying in $sleeptime seconds + sleep $sleeptime + fi +done + #Download Linkerd and install onto cluster linkerd version if [ $? -eq 0 ]; then @@ -12,7 +33,7 @@ else curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install | sh fi -export PATH=$PATH:/root/.linkerd2/bin +export PATH=$PATH:$USER_HOME/.linkerd2/bin export KUBECONFIG=/etc/rancher/k3s/k3s.yaml linkerd install --crds | kubectl apply -f - @@ -30,14 +51,14 @@ else sudo apt-get install helm fi -#Wait for availability of CRDs in the cluster +#Wait for availability of Linkerd-CRDs in the cluster counter=1 retries=10 sleeptime=10 while [ $counter -le $retries ] do ((counter++)) - kubectl get ingressroute + kubectl get serviceprofiles if [ $? -eq 0 ]; then break else diff --git a/install_msa_wsl.sh b/install_msa_wsl.sh new file mode 100644 index 0000000000000000000000000000000000000000..6eb7fde52c67729dea1cb128ad07cb38f357eba2 --- /dev/null +++ b/install_msa_wsl.sh @@ -0,0 +1,79 @@ +#Save directory of the script in variable +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +USER_HOME=$(getent passwd $SUDO_USER | cut -d: -f6) + +#Download and install K3s, then create a single node cluster +curl -sfL https://get.k3s.io | sh - + +#Wait for availability of Traefik-CRDs in the cluster +counter=1 +retries=10 +sleeptime=10 +while [ $counter -le $retries ] +do + ((counter++)) + kubectl get ingressroute + if [ $? -eq 0 ]; then + break + else + if [ $counter -eq $retries ]; then + echo CRDs are not yet available, please install helm-chart manually + exit 1 + fi + echo CRDs not yet ready, retrying in $sleeptime seconds + sleep $sleeptime + fi +done + +#Edit K3s service environment variable file to change access permissions to k3s.yaml +sudo echo K3S_KUBECONFIG_MODE=\"644\" >> /etc/systemd/system/k3s.service.env +sudo systemctl restart k3s + +#Download Linkerd and install onto cluster +linkerd version +if [ $? -eq 0 ]; then + echo Linkerd already installed +else + curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install | sh +fi + +export PATH=$PATH:$USER_HOME/.linkerd2/bin +export KUBECONFIG=/etc/rancher/k3s/k3s.yaml + +linkerd install --crds | kubectl apply -f - +linkerd install | kubectl apply -f - + +#Install Helm if not present +helm version +if [ $? -eq 0 ]; then + echo Helm already installed +else + curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null + sudo apt-get install apt-transport-https --yes + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list + sudo apt-get update + sudo apt-get install helm +fi + +#Wait for availability of Linkerd-CRDs in the cluster +counter=1 +retries=10 +sleeptime=10 +while [ $counter -le $retries ] +do + ((counter++)) + kubectl get serviceprofiles + if [ $? -eq 0 ]; then + break + else + if [ $counter -eq $retries ]; then + echo CRDs are not yet available, please install helm-chart manually + exit 1 + fi + echo CRDs not yet ready, retrying in $sleeptime seconds + sleep $sleeptime + fi +done + +#Install Helm-Chart +helm install helm-msa $SCRIPT_DIR/helm/helm-msa