Linux編譯安裝kubeedge

beyond阿亮 2022-01-07 21:41:08 阅读数:403

linux kubeedge

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.gz
vim /etc/profile
export GOROOT=/data/go
export GO_HOME=$GOROOT
export GOPATH=/data/go
export PATH=$GO_HOME/bin:$PATH
source /etc/profile
go version
go version go1.15.6 linux/amd64

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

Linux下kubeedge編譯安裝

獲取KubeEdge的方式有兩種,一種是直接從 官網( https://github.com/kubeedge/kubeedge/releases) 中下載;另一種方法是通過源碼編譯得到。

#下載源代碼
git clone https://github.com/kubeedge/kubeedge.git $GOPATH/src/github.com/kubeedge/kubeedge
#檢測gcc是否安裝
gcc --version
#更換yum源,安裝gcc zip
yum install -y gcc
yum install -y zip
yum install -y unzip
#在編譯的時候遇到了第一個坑,就是版本的問題。由於最新clone下來的版本已經不是v1.1.0了,所以,我們需要把代碼切回到v1.1.0版本
#切換對應版本
git tag
git 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
#切回最新版本 master
git checkout master

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

編譯雲端

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/cloud
cp -a _output/local/bin/cloudcore /data/go/src/cloud/

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

編譯邊緣端

make all WHAT=edgecore
ls _output/local/bin/
#生成二進制 edgecore 文件比特於 _output/local/bin/ 目錄。拷貝 edgecore 到部署工程目錄
mkdir /data/go/src/edge
cp -a _output/local/bin/edgecore /data/go/src/edge/

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

編譯keadm

make all WHAT=keadm
ls _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/certs
cp -a /etc/kubeedge/* /data/go/src/certs/
#拷貝設備模塊和設備CRD yaml 文件
mkdir /data/go/src/yamls
cp build/crds/devices/* /data/go/src/yamls/
#拷貝node.json
cp build/node.json /data/go/src/cloud/
#創建cloud節點
./keadm init --advertise-address="192.168.1.143"
#輸入y
KubeEdge cloudcore is running, For logs visit: /var/log/kubeedge/cloudcore.log
CloudCore 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 gettoken
8958944580d59b13294a880.eyJhbGciOiI6IkpXVCJ9.eyJleHAc1Nzh9.bRSK_bPSkw3PkyKBBtFr4
#啟動cloudcore服務
ps aux|grep cloudcore
systemctl restart cloudcore
nohup cloudcore &
#看端口通不通
telnet 192.168.1.143 10000
telnet 192.168.1.143 10002

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
版权声明:本文为[beyond阿亮]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201072141082562.html