X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=scripts%2Fsetup.sh;h=15e5a84f8f59fb0ceb9fd81ee1fd7a1f13c82a09;hb=59a6f87e42c6dfe6c2f5a7ffbc01523cff756899;hp=97bb875e45181a07d4c7364112c5c8f2ffe9a570;hpb=40037edbb30101191425dc32ae7a912788e5d7a6;p=eliot.git diff --git a/scripts/setup.sh b/scripts/setup.sh index 97bb875..15e5a84 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -18,6 +18,11 @@ # sshpass needs to be installed before executing this script. # ######################################################################################## +# constants + +OSPLATFORM=$(awk -F= '/^NAME/{print $2}' /etc/os-release) + + show_help() { echo "The script helps in setting up the ELIOT Toplogy Infrastrucutre" @@ -36,7 +41,7 @@ show_help() # Installing Docker, K8S and Initializing K8S Master setup_k8smaster() { - set -o xtrace + #set -o xtrace sudo rm -rf ~/.kube source common.sh | tee eliotcommon.log source k8smaster.sh | tee kubeadm.log @@ -56,7 +61,7 @@ setup_k8sworkers() #SETUP_WORKER_COMMON="cd eliot/scripts && source common.sh" SETUP_WORKER="cd eliot/scripts/ && source k8sworker.sh" - KUBEADM_JOIN=$(grep "kubeadm join " ./kubeadm.log) + KUBEADM_JOIN=$(grep "kubeadm join" ./kubeadm.log) KUBEADM_JOIN="sudo ${KUBEADM_JOIN}" # Read all the Worker Node details from nodelist file. @@ -69,10 +74,52 @@ setup_k8sworkers() sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER_COMMON} < /dev/null sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER} < /dev/null sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${KUBEADM_JOIN} < /dev/null - done < nodelist + done < nodelist > /dev/null 2>&1 } +setup_k8smaster_centos() +{ + set -o xtrace + sudo rm -rf ~/.kube + source common_centos.sh | tee eliotcommon_centos.log + source k8smaster_centos.sh | tee kubeadm_centos.log + + # Setup ELIOT Node + setup_k8sworkers_centos + + cd cni/calico + kubectl apply -f rbac.yaml + kubectl apply -f calico.yaml +} + + +setup_k8sworkers_centos() +{ + set -o xtrace + # Install Docker on ELIOT Node + + ELIOT_REPO="https://gerrit.akraino.org/r/eliot" + SETUP_WORKER_COMMON_CENTOS="sudo rm -rf ~/eliot &&\ + git clone ${ELIOT_REPO} &&\ + cd eliot/scripts && source common_centos.sh" + + KUBEADM_TOKEN=$(sudo kubeadm token create --print-join-command) + KUBEADM_JOIN_CENTOS="sudo ${KUBEADM_TOKEN}" + + # Read all the Worker Node details from nodelist file. + while read line + do + nodeinfo="${line}" + nodeusr=$(echo ${nodeinfo} | cut -d"|" -f1) + nodeip=$(echo ${nodeinfo} | cut -d"|" -f2) + nodepaswd=$(echo ${nodeinfo} | cut -d"|" -f3) + sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER_COMMON_CENTOS} < /dev/null + #sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_WORKER_CENTOS} < /dev/null + sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${KUBEADM_JOIN_CENTOS} < /dev/null + done < nodelist + +} #verify kubernetes setup by deploying nginx server. @@ -81,6 +128,23 @@ verify_k8s_status(){ source verifyk8s.sh | tee verifyk8s.log } +install_cadvisor_edge(){ + set -o xtrace + SETUP_CADVISOR_ATEDGE="cd eliot/scripts/ && source cadvisorsetup.sh" + while read line + do + nodeinfo="${line}" + nodeusr=$(echo ${nodeinfo} | cut -d"|" -f1) + nodeip=$(echo ${nodeinfo} | cut -d"|" -f2) + nodepaswd=$(echo ${nodeinfo} | cut -d"|" -f3) + sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${SETUP_CADVISOR_ATEDGE} < /dev/null + done < nodelist > /dev/null 2>&1 +} + +install_prometheus(){ +set -o xtrace +source prometheus.sh | tee install_prometheus.log +} # Start # @@ -91,7 +155,16 @@ then exit 0 fi +if [[ $OSPLATFORM = *CentOS* ]]; then + setup_k8smaster_centos +else + setup_k8smaster +fi -setup_k8smaster sleep 20 verify_k8s_status +install_cadvisor_edge +sleep 10 +install_prometheus +sleep 5 +sudo docker ps | grep prometheus