diff --git a/kubes/ingress/install.sh b/kubes/ingress/install.sh index 877d0d3..790c0f4 100755 --- a/kubes/ingress/install.sh +++ b/kubes/ingress/install.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -PATH_ROOT=$GOPATH/src/mlog/infra/kubes/ingress +PATH_ROOT=~/infra/kubes/ingress cd $PATH_ROOT || exit diff --git a/kubes/metallb/install.sh b/kubes/metallb/install.sh index 81c9163..7d8fa84 100755 --- a/kubes/metallb/install.sh +++ b/kubes/metallb/install.sh @@ -1,7 +1,6 @@ #! /usr/bin/env bash -PROJECT_ROOT=$GOPATH/src/mlog -cd ${PROJECT_ROOT}/infra/kubes/metallb || exit +cd ~/infra/kubes/metallb || exit kubectl apply -f loadbalancer.yaml -kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)" || true \ No newline at end of file +kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)" || true diff --git a/scripts/preseed/generate_install_image_rpi.sh b/scripts/preseed/generate_install_image_rpi.sh index 71d3717..3e56db3 100755 --- a/scripts/preseed/generate_install_image_rpi.sh +++ b/scripts/preseed/generate_install_image_rpi.sh @@ -25,10 +25,10 @@ fi rm /Volumes/system-boot/user-data /Volumes/system-boot/network-config -rsync -avP $GOPATH/src/mlog/infra/rpi/cupid/network-config.yaml "${FILE_PATH}/network-config" -rsync -avP $GOPATH/src/mlog/infra/rpi/cupid/user-data.yaml "${FILE_PATH}/user-data" +rsync -avP ~/infra/rpi/cupid/network-config.yaml "${FILE_PATH}/network-config" +rsync -avP ~/infra/rpi/cupid/user-data.yaml "${FILE_PATH}/user-data" sed -i -e 's,10.1.1.x,10.1.1.'$(expr 4 + $CUPID_ID)',g' "${FILE_PATH}/network-config" sed -i -e 's,cupidX,cupid'${CUPID_ID}',g' "${FILE_PATH}/user-data" -rm ${FILE_PATH}/*-e \ No newline at end of file +rm ${FILE_PATH}/*-e diff --git a/scripts/preseed/generate_install_iso_ubuntu.sh b/scripts/preseed/generate_install_iso_ubuntu.sh index 688aa8c..f679cac 100755 --- a/scripts/preseed/generate_install_iso_ubuntu.sh +++ b/scripts/preseed/generate_install_iso_ubuntu.sh @@ -1,8 +1,8 @@ #! /usr/bin/env bash -PROJECT_ROOT=$GOPATH/src/mlog USER=virgil +cd ~/infra || exit # Function to display usage usage() { @@ -18,7 +18,7 @@ while getopts "n:" opt; do esac done -rsync -avP infra/ubuntu/autoinstaller-generate.sh atlas:/olympus/samba/linux/ag.sh -rsync -avP "infra/ubuntu/user-data.${HOST_NAME}.yaml" atlas:/olympus/samba/linux/user-data || exit +rsync -avP ubuntu/autoinstaller-generate.sh atlas:/olympus/samba/linux/ag.sh +rsync -avP "ubuntu/user-data.${HOST_NAME}.yaml" atlas:/olympus/samba/linux/user-data || exit -ssh -t atlas "cd /olympus/samba/linux && sudo chmod a+x ./ag.sh && ./ag.sh -a -u ./user-data -d ${HOST_NAME}.iso && rm ag.sh user-data" \ No newline at end of file +ssh -t atlas "cd /olympus/samba/linux && sudo chmod a+x ./ag.sh && ./ag.sh -a -u ./user-data -d ${HOST_NAME}.iso && rm ag.sh user-data" diff --git a/scripts/preseed/local_iso.sh b/scripts/preseed/local_iso.sh index ae3989b..751ce5c 100755 --- a/scripts/preseed/local_iso.sh +++ b/scripts/preseed/local_iso.sh @@ -1,6 +1,6 @@ #! /usr/bin/env bash BUILD_ROOT=~/build -PROJECT_ROOT=$GOPATH/src/mlog +PROJECT_ROOT=~/infra USER=virgil @@ -24,6 +24,6 @@ cd $BUILD_ROOT || exit rm ${HOST_NAME}.iso || true sudo chown dtookey:dtookey ./* -rsync -avP "$PROJECT_ROOT/infra/ubuntu/autoinstaller-generate.sh" ./ag.sh +rsync -avP "$PROJECT_ROOT/ubuntu/autoinstaller-generate.sh" ./ag.sh chmod a+x ./ag.sh -./ag.sh -a -u ${PROJECT_ROOT}/infra/ubuntu/user-data.${HOST_NAME}.yaml -d ${HOST_NAME}.iso +./ag.sh -a -u ${PROJECT_ROOT}/ubuntu/user-data.${HOST_NAME}.yaml -d ${HOST_NAME}.iso diff --git a/scripts/setup/0-install_kubes.sh b/scripts/setup/0-install_kubes.sh index 26d1a3f..e1ac00f 100755 --- a/scripts/setup/0-install_kubes.sh +++ b/scripts/setup/0-install_kubes.sh @@ -1,7 +1,8 @@ #!/usr/bin/env bash set -xe -cd $GOPATH/src/mlog || exit +cd ~/infra || exit + USER_NAME=virgil #clear out old known_host entries ssh-keygen -f "/home/dtookey/.ssh/known_hosts" -R "10.1.1.2" || true @@ -26,9 +27,9 @@ ssh cupid3 "echo \"cupid3 checked in\"" ssh cupid4 "echo \"cupid4 checked in\"" -parallel -a infra/groups/all ./scripts/deploy/finish_preseeded_ubuntu.sh -n {} +parallel -a infra/groups/all ./scripts/setup/finish_preseeded_ubuntu.sh -n {} -./scripts/deploy/kube_leader.sh -n ares +./scripts/setup/kube_leader.sh -n ares -echo "fix infra/scripts/deploy/kube_worker.sh and then run the following command:" -echo "scripts/setup/1-finish-config.sh" \ No newline at end of file +echo "fix infra/scripts/setup/kube_worker.sh and then run the following command:" +echo "scripts/setup/1-finish-config.sh -t sha:alphabettispaghetti1234567890" diff --git a/scripts/setup/1-finish-config.sh b/scripts/setup/1-finish-config.sh index e7bc17c..a9b1df3 100755 --- a/scripts/setup/1-finish-config.sh +++ b/scripts/setup/1-finish-config.sh @@ -1,8 +1,23 @@ #!/usr/bin/env bash set -xe -cd $GOPATH/src/mlog || exit -#parallel -a ./infra/groups/workers ./scripts/deploy/kube_worker.sh -n {} -r worker -#parallel -a ./infra/groups/compute ./scripts/deploy/kube_worker.sh -n {} -r compute + +cd || exit + +# Parse command-line arguments +while getopts "n:r:t:" opt; do + case $opt in + t) JTOKEN="$OPTARG" ;; + *) usage ;; + esac +done + +if [ -z $JTOKEN ]; then + echo "Please provide the join token with -t i.e. script.sh -t sha256:63acb4dee8a6d0870f2a3312fd9091fabf443712cd2a9de74c3cf13ed33124b6" + exit +fi + +parallel -a ./infra/groups/workers ./scripts/setup/kube_worker.sh -n {} -r worker -t $JTOKEN +parallel -a ./infra/groups/compute ./scripts/setup/kube_worker.sh -n {} -r compute -t $JTOKEN kubectl apply -f infra/kubes/dns/flannel.yaml kubectl apply -f infra/kubes/dns/kube-dns.yaml diff --git a/scripts/deploy/finish_preseeded_ubuntu.sh b/scripts/setup/finish_preseeded_ubuntu.sh similarity index 78% rename from scripts/deploy/finish_preseeded_ubuntu.sh rename to scripts/setup/finish_preseeded_ubuntu.sh index 222f7c9..a1168a8 100755 --- a/scripts/deploy/finish_preseeded_ubuntu.sh +++ b/scripts/setup/finish_preseeded_ubuntu.sh @@ -1,8 +1,5 @@ #! /usr/bin/env bash -PROJECT_ROOT=$GOPATH/src/mlog - - # Function to display usage usage() { echo "Usage: $0 -n " @@ -17,7 +14,7 @@ while getopts "n:" opt; do esac done -rsync -avP ./infra/ubuntu/bootstrap-ubuntu.sh ${HOST_NAME}:~/ +rsync -avP ~/infra/ubuntu/bootstrap-ubuntu.sh ${HOST_NAME}:~/ ssh ${HOST_NAME} "sudo /bin/bash ./bootstrap-ubuntu.sh" diff --git a/scripts/deploy/kube_leader.sh b/scripts/setup/kube_leader.sh similarity index 87% rename from scripts/deploy/kube_leader.sh rename to scripts/setup/kube_leader.sh index 839e3b3..6c748ea 100755 --- a/scripts/deploy/kube_leader.sh +++ b/scripts/setup/kube_leader.sh @@ -1,8 +1,5 @@ #! /usr/bin/env bash -PROJECT_ROOT=$GOPATH/src/mlog - - # Function to display usage usage() { echo "Usage: $0 -n " @@ -26,4 +23,4 @@ rm ~/.kube/config rsync -avP ${HOST_NAME}:~/.kube/config ~/.kube/config -kubectl taint nodes ${HOST_NAME} leader=:NoSchedule \ No newline at end of file +kubectl taint nodes ${HOST_NAME} leader=:NoSchedule diff --git a/scripts/deploy/kube_worker.sh b/scripts/setup/kube_worker.sh similarity index 65% rename from scripts/deploy/kube_worker.sh rename to scripts/setup/kube_worker.sh index 19ac27b..f8fcba2 100755 --- a/scripts/deploy/kube_worker.sh +++ b/scripts/setup/kube_worker.sh @@ -1,8 +1,5 @@ #! /usr/bin/env bash -PROJECT_ROOT=$GOPATH/src/mlog - - # Function to display usage usage() { echo "Usage: $0 -n " @@ -10,9 +7,10 @@ usage() { } # Parse command-line arguments -while getopts "n:r:" opt; do +while getopts "n:r:t:" opt; do case $opt in n) HOST_NAME="$OPTARG" ;; + t) JTOKEN="$OPTARG" ;; r) ROLE="$OPTARG" ;; *) usage ;; esac @@ -24,10 +22,15 @@ if [ -z $HOST_NAME ]; then exit fi +if [ -z $JTOKEN ]; then + echo "Please provide the join token with -t i.e. script.sh -t sha256:63acb4dee8a6d0870f2a3312fd9091fabf443712cd2a9de74c3cf13ed33124b6" + exit +fi + SERVER_TOKEN=$(ssh ares "sudo kubeadm token create") -ssh ${HOST_NAME} "sudo kubeadm join 10.1.1.2:6443 --token ${SERVER_TOKEN} --discovery-token-ca-cert-hash sha256:63acb4dee8a6d0870f2a3312fd9091fabf443712cd2a9de74c3cf13ed33124b6" +ssh ${HOST_NAME} "sudo kubeadm join 10.1.1.2:6443 --token ${SERVER_TOKEN} --discovery-token-ca-cert-hash $JTOKEN" if [ ! -z $ROLE ]; then kubectl taint node ${HOST_NAME} ${ROLE}=:NoSchedule -fi \ No newline at end of file +fi diff --git a/scripts/deploy/reformat_x86.sh b/scripts/setup/reformat_x86.sh similarity index 87% rename from scripts/deploy/reformat_x86.sh rename to scripts/setup/reformat_x86.sh index 53880cd..35365d7 100755 --- a/scripts/deploy/reformat_x86.sh +++ b/scripts/setup/reformat_x86.sh @@ -1,7 +1,5 @@ #!/usr/bin/env bash -cd $GOPATH/src/mlog || exit - ssh ares "sudo efibootmgr --bootnext 000B > /dev/null" ssh ares "sudo shutdown -r now"