X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=blueprints%2Fiotgateway%2Fscripts%2Fkubeedge%2Fkubeedge_setup.sh;fp=blueprints%2Fiotgateway%2Fscripts%2Fkubeedge%2Fkubeedge_setup.sh;h=c9633dc0e5dda64fba5f3fd9ebf7907d86630e59;hb=b7b9a88e07c4fb4c8b00582c90b3646f4a4ad0d4;hp=0000000000000000000000000000000000000000;hpb=d8231861fea9dbdb16952bc1a744a2f8046e1bcf;p=eliot.git diff --git a/blueprints/iotgateway/scripts/kubeedge/kubeedge_setup.sh b/blueprints/iotgateway/scripts/kubeedge/kubeedge_setup.sh new file mode 100755 index 0000000..c9633dc --- /dev/null +++ b/blueprints/iotgateway/scripts/kubeedge/kubeedge_setup.sh @@ -0,0 +1,127 @@ +#!/bin/bash -ex +############################################################################## +# Copyright (c) 2019 Huawei Tech and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# constants + +VERSION="v1.1.0" +OS="linux" +ARCH="amd64" + +PATH_OF_EDGECORE="/etc/kubeedge-v1.1.0-linux-amd64/edge/edgecore" + +initialize_k8s_cluster() +{ + source common.sh + source k8smaster.sh +} + +kubeedge_tar_untar() +{ + + curl -L "https://github.com/kubeedge/kubeedge/releases/download/${VERSION}/kubeedge-${VERSION}-${OS}-${ARCH}.tar.gz" \ + --output kubeedge-${VERSION}-${OS}-${ARCH}.tar.gz && sudo tar -xf kubeedge-${VERSION}-${OS}-${ARCH}.tar.gz -C /etc + +} + +generate_certs() +{ + echo "generate_certs started" + wget -L https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/tools/certgen.sh + + chmod +x certgen.sh + bash -x ./certgen.sh genCertAndKey edge + + echo "generate_certs ended" + +} + +initialize_yaml() +{ + echo "initalize_yaml started" + wget -L https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/crds/devices/devices_v1alpha1_devicemodel.yaml + + chmod +x devices_v1alpha1_devicemodel.yaml + + kubectl create -f devices_v1alpha1_devicemodel.yaml + + wget -L https://raw.githubusercontent.com/kubeedge/kubeedge/master/build/crds/devices/devices_v1alpha1_device.yaml + + chmod +x devices_v1alpha1_device.yaml + kubectl create -f devices_v1alpha1_device.yaml + echo "initialize_yaml ended" +} + +# Run cloudcore + +cloudcore_start() +{ + echo "cloudcore_start started" + cp controller.yaml /etc/kubeedge-${VERSION}-${OS}-${ARCH}/cloud/cloudcore/conf/controller.yaml + cd /etc/kubeedge-${VERSION}-${OS}-${ARCH}/cloud/cloudcore + nohup ./cloudcore > cloudcore.log 2>&1 & + echo "cloudcore_start ended" +} + +edge_modify() +{ + sed "s/0.0.0.0/${MASTERNODEIP}/" /etc/kubeedge-${VERSION}-${OS}-${ARCH}/edge/conf/edge.yaml > /etc/kubeedge-${VERSION}-${OS}-${ARCH}/edge/conf/edge_new.yaml + #rm -rf /etc/kubeedge-${VERSION}-${OS}-${ARCH}/edge/conf/edge.yaml + mv /etc/kubeedge-${VERSION}-${OS}-${ARCH}/edge/conf/edge_new.yaml /etc/kubeedge-${VERSION}-${OS}-${ARCH}/edge/conf/edge.yaml + +} + +exec_edge() +{ + echo "exec_edge started" + + sshpass -p ${EDGENODEPASSWORD} \ + + scp -r $KUBEEDGE_ETC \ + ${EDGENODEUSR}@${EDGENODEIP}:/etc + + sshpass -p ${EDGENODEPASSWORD} \ + scp -r $KUBEEDGE_VERSION_ETC \ + ${EDGENODEUSR}@${EDGENODEIP}:/etc + + sshpass -p ${EDGENODEPASSWORD} ssh ${EDGENODEUSR}@${EDGENODEIP} \ + nohup $PATH_OF_EDGECORE > edgecore.log 2>&1 & + echo "exec_edge ended" +} + +apply_node_json() +{ + echo "apply_node_json started" + kubectl apply -f node.json + echo "apply_node_json ended" +} + + + +# start +source config_kubeedge +initialize_k8s_cluster + +# sleep added for k8s kube-system pods to be up + +sleep 240 + +kubeedge_tar_untar + +generate_certs + +initialize_yaml + +cloudcore_start +edge_modify +exec_edge > /dev/null 2>&1 + +apply_node_json + +echo "Kubeedge-v1.1.0 installation completed"