【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