【Kubeedge】國內網絡環境下的安裝


安裝k8s或k3s

參考官方網站的文檔即可,k8s的配置部分參考kubeedge官方文檔

配置安裝環境

安裝 kubeadm、kubectl:

gpg --keyserver keyserver.ubuntu.com --recv-keys BA07F4FB
gpg --export --armor BA07F4FB | sudo apt-key add -
echo "deb https://mirrors.tuna.tsinghua.edu.cn/kubernetes/apt kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list 
apt update
apt install kubeadm kubectl ipvsadm

下載Golang安裝包並解壓到 /usr/local,添加環境變量:

# Golang
export GOROOT=/usr/local/go
export GOPATH=/data/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

# Kubeedge
export PATH=$PATH:/data/gopath/src/github.com/kubeedge/kubeedge/_output/local/bin

source 環境變量文件使之生效。

編譯Kubeedge

克隆源碼(gitclone.com 用於國內加速):

git clone https://gitclone.com/github.com/kubeedge/kubeedge $GOPATH/src/github.com/kubeedge/kubeedge 

由於kubeedge安編譯中需要使用git的歷史信息,因此將remote改回github地址:

git remote set-url origin https://github.com/kubeedge/kubeedge
git remote show origin

創建工作目錄:

mkdir -p /data/gopath && cd /data/gopath
mkdir -p src pkg bin

編譯:

cd $GOPATH/src/github.com/kubeedge/kubeedge
make all WHAT=keadm
make all WHAT=cloudcore
make all WHAT=edgecore

成功編譯后的文件位於 ./_output/local/bin,該目錄在之前的環境變量中已添加。

創建cloud節點

使用keadm進行快速部署,由於安裝過程需要訪問github相關資源,因此選擇手動提前下載所需文件:

g.ioiox.com 為github資源鏡像加速,若失效則需自己替換可用鏡像

版本號根據當前kubeedge版本自行替換

mkdir /etc/kubeedge
cd  /etc/kubeedge && wget https://g.ioiox.com/https://github.com/kubeedge/kubeedge/releases/download/v1.3.1/kubeedge-v1.3.1-linux-amd64.tar.gz

同時可能需要添加 raw.githubusercontent.com 的DNS解析:

151.101.108.133 raw.githubusercontent.com

創建cloud節點:

IP替換為本機IP

keadm init --advertise-address="IP"

查看日志:

tail -f /var/log/kubeedge/cloudcore.log

創建edge節點

在cloud端獲取token:

keadm gettoken

將cloud端的./_output/local/bin二進制文件拷貝至edge端並加入PATH,隨后創建edge節點:

CLOUD_IP 為前文中的cloud端暴露的IP

TOKEN為獲取到的token

keadm join --cloudcore-ipport=CLOUD_IP:10000 --token=TOKEN

查看日志:

tail -f /var/log/kubeedge/edgecore.log

刪除/重置Kubeedge

停止當前運行的kubeedge組件:

keadm reset

在cloud端:

rm -r /etc/kubeedge
kubectl delete CustomResourceDefinition $(k get CustomResourceDefinition | grep kubeedge | awk '{print $1}') 

刪除 /etc/kubeedge 目錄后需要再次手動下載 kubeedge-v1.3.1-linux-amd64.tar.gz

驗證

在cloud端:

root@mq-228 /e/kubeedge# kubectl get no                 
NAME     STATUS   ROLES        AGE   VERSION
mq-228   Ready    master       11d   v1.18.6+k3s1
mq-227   Ready    agent,edge   38m   v1.17.1-kubeedge-v1.3.1

Counter Demo 未更新,按教程無法直接運行:

  • apiVersion需要更新到v1alpha2
  • code.jquery.com無法在國內訪問


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM