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 ##############################################################################
11 { set +x; } > /dev/null 2>&1
15 if [ "$1" != "--help" ]; then
17 echo "Usage of the command is wrong.. Please type ./kubeedge_setup.sh --help for more details"
24 if [ "$1" == "--help" ]; then
26 echo "This script will setup the kubeedge installation on Eliot master and Eliot edge"
27 echo "Before Executing this, add Eliot master and Eliot edge details in config_kubeedge file"
32 # take_keedge will download the source code of kubeedge in master and in edge
37 git clone https://github.com/kubeedge/kubeedge.git \
38 $GOPATH/src/github.com/kubeedge/kubeedge
39 cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm
43 source config_kubeedge > /dev/null 2>&1
45 common_steps="echo $GOPATH && \
48 git clone https://github.com/kubeedge/kubeedge.git $GOPATH/src/github.com/kubeedge/kubeedge && \
49 source ~/.profile && \
51 sudo chmod -R 777 github.com && \
52 cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm && \
55 edge_start="cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm && \
56 sudo chmod +x keadm && \
57 sudo ./keadm join --edgecontrollerip=$MASTERNODEIP --edgenodeid=$EDGENODEID \
58 --k8sserverip=$MASTERNODEIP:8080"
60 # Initialisation of ELIOT master with kubeedge
62 execute_keedge_controller(){
63 cd $GOPATH/src/github.com/kubeedge/kubeedge/keadm
68 # Initialisation of Eliot edge with kubeedge
72 cd $PATH_OF_ELIOTFOLDER/scripts/src
74 sshpass -p ${EDGENODEPASSWORD} \
75 scp $PATH_OF_ELIOTFOLDER/scripts/src/config_kubeedge \
76 ${EDGENODEUSR}@${EDGENODEIP}:$HOME_EDGENODE
78 sshpass -p ${EDGENODEPASSWORD} ssh ${EDGENODEUSR}@${EDGENODEIP} \
79 source config_kubeedge
81 source config_kubeedge > /dev/null 2>&1
82 sshpass -p ${EDGENODEPASSWORD} \
83 ssh ${EDGENODEUSR}@${EDGENODEIP} ${common_steps}
85 echo "After cloning the code in ELIOT edge node"
86 sshpass -p ${EDGENODEPASSWORD} \
87 scp /etc/kubeedge/certs.tgz ${EDGENODEUSR}@${EDGENODEIP}:$HOME_EDGENODE
89 sshpass -p ${EDGENODEPASSWORD} \
90 ssh ${EDGENODEUSR}@${EDGENODEIP} \
91 sudo tar -xvzf $HOME/certs.tgz --directory /etc/kubeedge
93 sshpass -p ${EDGENODEPASSWORD} \
94 ssh ${EDGENODEUSR}@${EDGENODEIP} ${edge_start}
99 source config_kubeedge > /dev/null 2>&1
103 execute_keedge_controller
105 exec_edge > /dev/null 2>&1
108 sudo kubectl get nodes
110 if [ "$(id -u)" = 0 ]; then
111 echo "export KUBECONFIG=/etc/kubernetes/admin.conf" | \
112 tee -a "${HOME}/.profile"
113 source "${HOME}/.profile"
115 mkdir -p "${HOME}/.kube"
116 sudo cp -i /etc/kubernetes/admin.conf "${HOME}/.kube/config"
117 sudo chown "$(id -u)":"$(id -g)" "${HOME}/.kube/config"
120 chmod +x $PATH_OF_ELIOTFOLDER/scripts/verifyk8s.sh
121 source $PATH_OF_ELIOTFOLDER/scripts/verifyk8s.sh