Linux下golang装置

MacBook Linux 树莓派raspberrypi装置Golang环境

golang装置
#下载最新版本wget https://dl.google.com/go/go1.15.6.linux-amd64.tar.gz --no-check-certificate#解压tar -zxvf go1.15.6.linux-amd64.tar.gzvim /etc/profileexport GOROOT=/data/goexport GO_HOME=$GOROOTexport GOPATH=/data/goexport PATH=$GO_HOME/bin:$PATHsource /etc/profilego versiongo version go1.15.6 linux/amd64

Linux下kubeedge编译装置

获取KubeEdge的形式有两种,一种是间接从 官网(https://github.com/kubeedge/k...) 中下载;另一种办法是通过源码编译失去。

#下载源代码git clone https://github.com/kubeedge/kubeedge.git $GOPATH/src/github.com/kubeedge/kubeedge#检测gcc是否装置gcc --version#更换yum源,装置gcc zipyum install -y gccyum install -y zipyum install -y unzip#在编译的时候遇到了第一个坑,就是版本的问题。因为最新clone下来的版本曾经不是v1.1.0了,所以,咱们须要把代码切回到v1.1.0版本#切换对应版本git taggit checkout v1.1.0#应用v1.1.0 编译报错如下,下载不下来包go: cloud.google.com/[email protected]: Get "https://proxy.golang.org/cloud.google.com/go/@v/v0.43.0.mod": dial tcp 216.58.220.209:443: i/o timeout#切回最新版本 mastergit checkout master

编译云端

cd $GOPATH/src/github.com/kubeedge/kubeedge/make all WHAT=cloudcore#新版本 编译胜利后的目录和旧版本有点不一样 在_output/local/bin/下ls _output/local/bin/#生成二进制 cloudcore 文件位于 _output/local/bin/ 目录。拷贝 cloudcore 到部署工程目录mkdir /data/go/src/cloudcp -a _output/local/bin/cloudcore /data/go/src/cloud/

编译边缘端

make all WHAT=edgecorels _output/local/bin/#生成二进制 edgecore 文件位于 _output/local/bin/ 目录。拷贝 edgecore 到部署工程目录mkdir /data/go/src/edgecp -a _output/local/bin/edgecore /data/go/src/edge/

编译keadm

make all WHAT=keadmls _output/local/bin/cp -a _output/local/bin/keadm /data/go/src/keadm/#生成证书 新版本此步骤不必 kubeedge在1.3版本之后云端与边缘端不须要再手动拷贝证书,而是能够通过token的形式进行主动验证./build/tools/certgen.sh genCertAndKey edge#生成的 ca 和 certs 别离位于 /etc/kubeedge/ca 和 /etc/kubeedge/certs 目录,将其拷贝到部署工程目录的 certs 目录。mkdir /data/go/src/certscp -a /etc/kubeedge/* /data/go/src/certs/#拷贝设施模块和设施CRD yaml 文件mkdir /data/go/src/yamlscp build/crds/devices/* /data/go/src/yamls/#拷贝node.jsoncp build/node.json /data/go/src/cloud/#创立cloud节点./keadm init --advertise-address="192.168.1.143"#输出yKubeEdge cloudcore is running, For logs visit:  /var/log/kubeedge/cloudcore.logCloudCore started#胜利启动systemctl status cloudcore#查看日志cat /var/log/kubeedge/cloudcore.log#如果报错, cloudcore日志提醒CloudCore 1.3.0 failed to run: failed to parse EC private key: asn1: structure error: length too large#kubectl删除kubeedge的namespace,而后从新运行kubectl delete namespace kubeedge --force --grace-period=0./keadm init --advertise-address="192.168.1.143"#从云端获取令牌  重启cloudcore token会变./keadm gettoken8958944580d59b13294a880.eyJhbGciOiI6IkpXVCJ9.eyJleHAc1Nzh9.bRSK_bPSkw3PkyKBBtFr4#启动cloudcore服务ps aux|grep cloudcoresystemctl restart cloudcorenohup cloudcore &  #看端口通不通telnet 192.168.1.143 10000telnet 192.168.1.143 10002