# sshpass needs to be installed before executing this script. #
########################################################################################
+# constants
+
+OSPLATFORM=$(awk -F= '/^NAME/{print $2}' /etc/os-release)
+ELIOT_REPO="https://gerrit.akraino.org/r/eliot"
+
show_help()
{
echo "The script helps in setting up the ELIOT Toplogy Infrastrucutre"
# 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
set -o xtrace
# Install Docker on ELIOT Node
- ELIOT_REPO="https://gerrit.akraino.org/r/eliot"
SETUP_WORKER_COMMON="sudo rm -rf ~/eliot &&\
git clone ${ELIOT_REPO} &&\
cd eliot/scripts && source common.sh"
#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.
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
+
+ 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.
verify_k8s_status(){
install_cadvisor_edge(){
set -o xtrace
- SETUP_CADVISOR_ATEDGE="cd AfterRelease1/eliot/scripts/ && source cadvisorsetup.sh"
+ SETUP_CADVISOR_ATEDGE="cd eliot/scripts/ && source cadvisorsetup.sh"
while read line
do
nodeinfo="${line}"
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
+ done < nodelist > /dev/null 2>&1
}
install_prometheus(){
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
+sleep 5
sudo docker ps | grep prometheus