2 ##############################################################################
3 # Copyright (c) 2019 Huawei Tech and others.
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
12 KUBEEDGE_SRC="$GOPATH/src/github.com/kubeedge/kubeedge"
13 KUBEEDGE_BIN="$GOPATH/src/github.com/kubeedge/kubeedge/keadm"
15 { set +x; } > /dev/null 2>&1
19 if [ "$1" != "--help" ]; then
21 echo "Usage of the command is wrong.. Please type ./kubeedge_setup.sh --help for more details"
28 if [ "$1" == "--help" ]; then
30 echo "This script will setup the kubeedge installation on Eliot master and Eliot edge"
31 echo "Before Executing this, add Eliot master and Eliot edge details in config_kubeedge file"
36 # take_keedge will download the source code of kubeedge in master and in edge
41 git clone https://github.com/kubeedge/kubeedge.git \
47 source config_kubeedge > /dev/null 2>&1
49 common_steps="echo $GOPATH && \
50 git clone https://github.com/kubeedge/kubeedge.git $KUBEEDGE_SRC && \
51 source ~/.profile && \
53 sudo chmod -R 777 github.com && \
57 edge_start="cd $KUBEEDGE_BIN && \
58 sudo chmod +x keadm && \
59 sudo ./keadm join --edgecontrollerip=$MASTERNODEIP --edgenodeid=$EDGENODEID \
60 --k8sserverip=$MASTERNODEIP:8080"
62 # Initialisation of ELIOT master with kubeedge
64 execute_keedge_controller(){
70 # Initialisation of Eliot edge with kubeedge
74 cd $PATH_OF_ELIOTFOLDER/scripts/src
76 sshpass -p ${EDGENODEPASSWORD} \
77 scp $PATH_OF_ELIOTFOLDER/scripts/src/config_kubeedge \
78 ${EDGENODEUSR}@${EDGENODEIP}:$HOME_EDGENODE
80 sshpass -p ${EDGENODEPASSWORD} ssh ${EDGENODEUSR}@${EDGENODEIP} \
81 source config_kubeedge
83 source config_kubeedge > /dev/null 2>&1
84 sshpass -p ${EDGENODEPASSWORD} \
85 ssh ${EDGENODEUSR}@${EDGENODEIP} ${common_steps}
87 echo "After cloning the code in ELIOT edge node"
88 sshpass -p ${EDGENODEPASSWORD} \
89 scp /etc/kubeedge/certs.tgz ${EDGENODEUSR}@${EDGENODEIP}:$HOME_EDGENODE
91 sshpass -p ${EDGENODEPASSWORD} \
92 ssh ${EDGENODEUSR}@${EDGENODEIP} \
93 sudo tar -xvzf $HOME/certs.tgz --directory /etc/kubeedge
95 sshpass -p ${EDGENODEPASSWORD} \
96 ssh ${EDGENODEUSR}@${EDGENODEIP} ${edge_start}
101 source config_kubeedge > /dev/null 2>&1
105 execute_keedge_controller
107 exec_edge > /dev/null 2>&1
110 sudo kubectl get nodes
112 if [ "$(id -u)" = 0 ]; then
113 echo "export KUBECONFIG=/etc/kubernetes/admin.conf" | \
114 tee -a "${HOME}/.profile"
115 source "${HOME}/.profile"
117 mkdir -p "${HOME}/.kube"
118 sudo cp -i /etc/kubernetes/admin.conf "${HOME}/.kube/config"
119 sudo chown "$(id -u)":"$(id -g)" "${HOME}/.kube/config"
122 chmod +x $PATH_OF_ELIOTFOLDER/scripts/verifyk8s.sh
123 source $PATH_OF_ELIOTFOLDER/scripts/verifyk8s.sh