#!/bin/sh
#获取EdgeMesh
#git clone https://github.com/kubeedge/edgemesh.git
#cd edgemesh
#安装CRDS
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/crds/istio
######################################################
#在边缘节点,关闭edgeMesh模块,打开metaServer模块
#vi /etc/kubeedge/config/edgecore.yaml
#modules:
# ..
# edgeMesh:
# enable: false
# ..
# metaManager:
# metaServer:
# enable: true
#..
######################################################
#重启edgecore
#systemctl restart edgecore
#重启边缘节点1
edgecore1=`ssh root@192.168.33.28 << remotessh
systemctl status edgecore
exit
remotessh `
echo -e "====================》重启edgecore1,边缘节点1状态\n"
echo -e "$edgecore1\n\n\n"
#重启边缘节点2
edgecore2=`ssh root@192.168.33.29 << remotessh
systemctl status edgecore
exit
remotessh `
echo -e "===================》重启edgecore2,边缘节点2状态\n"
echo -e "$edgecore2\n\n\n"
#########################################################
#在云端,开启dynamicController 模块
#vi /etc/kubeedge/config/cloudcore.yaml
#modules:
# ..
# dynamicController:
# enable: true
#..
#重启cloudcore
#systemctl restart cloudcore
systemctl status cloudcore
#nohup /usr/local/bin/cloudcore > /var/log/kubeedge/cloudcore.log 2>&1 &
##############################################################
#在边缘节点1,查看 list-watch 是否开启
curl=`ssh root@192.168.33.28 << remotessh
curl 127.0.0.1:10550/api/v1/services
exit
remotessh `
echo -e "=====================>在边缘节点1,查看 list-watch 是否开启\n"
echo -e "$curl\n\n\n"
###############################################################
#在边缘节点2,查看 list-watch 是否开启
curl2=`ssh root@192.168.33.29 << remotessh
curl 127.0.0.1:10550/api/v1/services
exit
remotessh `
echo -e "======================>在边缘节点2,查看 list-watch 是否开启\n"
echo -e "$curl2\n\n\n"
############################################################################################
#部署edgemesh-server服务
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/server/edgemesh/02-serviceaccount.yaml
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/server/edgemesh/03-clusterrole.yaml
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/server/edgemesh/04-clusterrolebinding.yaml
#这里要把edgemsh-server的公网IP,也就是让边缘节点可以访问到的IP填入到05-configmap的publicIP上
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/server/edgemesh/05-configmap.yaml
#将06-deployment.yaml的nodeName修改为自己的cloud-node
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/server/edgemesh/06-deployment.yaml
echo -e "==========>edgemesh-server服务部署完成=========\n"
##############################################################
#获取k8s集群serviceCIDR,后续用到
kubectl cluster-info dump | grep -m 1 service-cluster-ip-range
echo -e "==========获取k8s集群serviceCIDR完成=========\n"
##############################################################
#部署 edgemesh-agent-cloud 服务
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/agent/kubernetes/edgemesh-agent/03-serviceaccount.yaml
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/agent/kubernetes/edgemesh-agent/04-clusterrole.yaml
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/agent/kubernetes/edgemesh-agent/05-clusterrolebinding.yaml
#请将06-configmap-cloud.yaml里面的subNet配置成kube-apiserver的service-cluster-ip-range的值,将listenInterface改为自己指定pod网络的IP地址范围
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/agent/kubernetes/edgemesh-agent/06-configmap-cloud.yaml
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/agent/kubernetes/edgemesh-agent/07-daemonset-cloud.yaml
echo -e "==========>edgemesh-agent-cloud 服务部署完成\n"
##############################################################
#部署 edgemesh-agent-edge 服务
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/agent/kubernetes/edgemesh-agent/06-configmap-edge.yaml
kubectl apply -f /home/1.8/edgemesh-release-1.8/build/agent/kubernetes/edgemesh-agent/07-daemonset-edge.yaml
echo -e "============== edgemesh-agent-edge 服务部署完成=========\n"
##############################################################
#检验部署结果
echo -e "============= kubectl get all -n kubeedge ==========\n"
kubectl get all -n kubeedge