X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=scripts%2Fsrc%2Fkubeedge_setup.sh;h=86f6bbcd80989d632f7e50d9bac49da58c03d2c4;hb=5dcb17b3a8749b3153468062da5b1cf3271e48ae;hp=b79416fffb108033a282f87c59a68db2d10112cc;hpb=bb0efb7438d8f1d2b439757e0008cf97b90a6f95;p=eliot.git diff --git a/scripts/src/kubeedge_setup.sh b/scripts/src/kubeedge_setup.sh index b79416f..86f6bbc 100755 --- a/scripts/src/kubeedge_setup.sh +++ b/scripts/src/kubeedge_setup.sh @@ -8,57 +8,118 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -take_keedge(){ +#Constants +KUBEEDGE_SRC="$GOPATH/src/github.com/kubeedge/kubeedge" +KUBEEDGE_BIN="$GOPATH/src/github.com/kubeedge/kubeedge/keadm" +VERIFY_K8S="$PATH_OF_ELIOTFOLDER/scripts/verifyk8s.sh" + +{ set +x; } > /dev/null 2>&1 + +if [ -n "$1" ]; then + +if [ "$1" != "--help" ]; then + echo "" + echo "Usage of the command is wrong.. Please type ./kubeedge_setup.sh --help for more details" + echo "" + exit 0 +fi + +fi + +if [ "$1" == "--help" ]; then + echo "" + echo "This script will setup the kubeedge installation on Eliot master and Eliot edge" + echo "Before Executing this, add Eliot master and Eliot edge details in config_kubeedge file" + echo "" + exit 0; set -x; +fi - git clone https://github.com/kubeedge/kubeedge.git $GOPATH/src/github.com/kubeedge/kubeedge - cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm - make +# take_keedge will download the source code of kubeedge in master and in edge +take_keedge(){ + + source ~/.profile + git clone https://github.com/kubeedge/kubeedge.git \ + $KUBEEDGE_SRC + cd $KUBEEDGE_BIN + make } -common_steps="git clone https://github.com/kubeedge/kubeedge.git $GOPATH/src/github.com/kubeedge/kubeedge &&\ -cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm &&\ -make &&\ -chmod +x kubeedge" +source config_kubeedge > /dev/null 2>&1 + +common_steps="echo $GOPATH && \ +git clone https://github.com/kubeedge/kubeedge.git $KUBEEDGE_SRC && \ +source ~/.profile && \ +cd $GOPATH/src && \ +sudo chmod -R 777 github.com && \ +cd $KUBEEDGE_BIN && \ +make" -certif_copy="cd /etc/kubeedge &&\ -scp certs.tar.gz" +edge_start="cd $KUBEEDGE_BIN && \ +sudo chmod +x keadm && \ +sudo ./keadm join --edgecontrollerip=$MASTERNODEIP --edgenodeid=$EDGENODEID \ +--k8sserverip=$MASTERNODEIP:8080" -edge_start="kubeedge join --edgecontrollerip=${nodeip} --edgenodeid=eliot_edge_01" +# Initialisation of ELIOT master with kubeedge execute_keedge_controller(){ - cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm - sudo chmod +x kubeedge - ./kubeedge init + cd $KUBEEDGE_BIN + sudo chmod +x keadm + sudo ./keadm init } +# Initialisation of Eliot edge with kubeedge + +exec_edge(){ + + cd $PATH_OF_ELIOTFOLDER/scripts/src + + sshpass -p ${EDGENODEPASSWORD} \ + scp $PATH_OF_ELIOTFOLDER/scripts/src/config_kubeedge \ + ${EDGENODEUSR}@${EDGENODEIP}:$HOME_EDGENODE + + sshpass -p ${EDGENODEPASSWORD} ssh ${EDGENODEUSR}@${EDGENODEIP} \ + source config_kubeedge + + source config_kubeedge > /dev/null 2>&1 + sshpass -p ${EDGENODEPASSWORD} \ + ssh ${EDGENODEUSR}@${EDGENODEIP} ${common_steps} + + echo "After cloning the code in ELIOT edge node" + sshpass -p ${EDGENODEPASSWORD} \ + scp /etc/kubeedge/certs.tgz ${EDGENODEUSR}@${EDGENODEIP}:$HOME_EDGENODE + + sshpass -p ${EDGENODEPASSWORD} \ + ssh ${EDGENODEUSR}@${EDGENODEIP} \ + sudo tar -xvzf $HOME/certs.tgz --directory /etc/kubeedge + + sshpass -p ${EDGENODEPASSWORD} \ + ssh ${EDGENODEUSR}@${EDGENODEIP} ${edge_start} +} # start +source config_kubeedge > /dev/null 2>&1 + take_keedge execute_keedge_controller -while read line -do - nodeinfo="${line}" - nodeusr=$(echo ${nodeinfo} | cut -d"|" -f1) - nodeip=$(echo ${nodeinfo} | cut -d"|" -f2) - nodepaswd=$(echo ${nodeinfo} | cut -d"|" -f3) - masternodeip=$(echo ${nodeinfo} | cut -d"|" -f3) - - sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} ${common_steps} < /dev/null - sshpass -p ${nodepaswd} scp /etc/kubeedge/certs.tar.gz ${nodeusr}@${nodepaswd}:/etc/kubeedge - - sshpass -p ${nodepaswd} \ - tar -xvzf /etc/kubeedge/certs.tgz +exec_edge > /dev/null 2>&1 - sshpass -p ${nodepaswd} ssh ${nodeusr}@${nodeip} kubeedge join --edgecontrollerip=${masternodeip} --edgenodeid=eliot_edge_01 \ - --k8sserverip=${masternodeip}:8080 -done < nodelist +sleep 10 +sudo kubectl get nodes -kubectl get nodes +if [ "$(id -u)" = 0 ]; then + echo "export KUBECONFIG=/etc/kubernetes/admin.conf" | \ +tee -a "${HOME}/.profile" + source "${HOME}/.profile" +else + mkdir -p "${HOME}/.kube" + sudo cp -i /etc/kubernetes/admin.conf "${HOME}/.kube/config" + sudo chown "$(id -u)":"$(id -g)" "${HOME}/.kube/config" +fi -kubectl create -f deployment.yaml +chmod +x $VERIFY_K8S +source $VERIFY_K8S -kubectl get pods