1. 阿里云服务器KubeEdge云端环境安装
1.1 K8S与KubeEdge版本兼容性检查
KubeEdge的仓库地址
https://github.com/kubeedge/kubeedge
版本兼容性
1.2安装Cloudcore
cloudcore的安装有两种方式,一种是手动安装,还有一种是使用kubeedge提供的工具keadm安装。手动安装比较繁琐,因此使用keadm这个工具安装。此种方式安装最大的问题就是国内的墙会导致很多某些资源无法下载,比如说 CRD的yaml,cloudcore启动的service,所以可以先在GitHub中先将需要的安装包预先下载下来。
笔者安装的KubeEdge的版本为1.10.1,先到仓库中下载对应的安装包
地址为
https://github.com/kubeedge/kubeedge/releases
下载下图所示的安装包
将这几个安装包和源码的压缩包传输至服务器中,直接放置在根目录下即可,为了方便管理,可以创建一个文件夹来存储相关文件,例如文件夹ke_install
/root/ke_install
1.3安装Keadm工具
可以直接解压安装包到当前文件夹
tar -zxvf keadm-v1.10.1- linux-amd64.tar.gz
进入解压的文件夹
cd keadm-v1.10.1- linux-amd64
cd keadm
将keadm的二进制文件拷贝到系统环境变量中
cp keadm /usr/local/bin
在命令行中输入keadm version,出现版本信息即说明安装成功
1.4 KubeEdge云端环境的初始化
通过如下命令查看初始化命令
keadm init -h
根据提示输入命令即可,在未提前下载相关文件安装包的情况下,执行初始化命令
keadm init --kubeedge-version=1.10.1 --advertise-address=xxx.xxx.xxx.xxx
#此处的ip地址为服务器的公网IP
此时,我们会发现初始化命令执行几秒后,会卡住不动,此时在下载相应的安装包,由于网络的原因,此过程大部分会以失败告终。
虽然此过程没有成功,但进入服务器的/etc文件夹中发现,已经创建了相关的文件夹 kubeedge,进入此文件夹,会发现相关的包已经下载了一部分,我们可以删除此未下载完成的文件。将提前下载的文件ckecksum、kubeedge压缩包传入此文件夹中。(不熟悉linux操作的小伙伴可与直接在笔记本上解压相关包,找到相关的文件以及文件夹,直接通过ftp等工具将需要的包传输到相关位置)
解压kubeedge的源码,进入build文件夹
cd /kubeedge-1.10.1/kubeedge-1.10.1/build
将crds文件夹拷贝到/etc/kubeedge文件夹中
cp -r /crds/ /etc/kubeedge
此外,进入build文件夹下的tools文件夹中
cd /tools
将cloudcore.service文件复制到/etc/kubeedge文件夹中
cp cloudcore.service /etc/kubeedge/
此时kubeedge文件夹中应该含有下列的文件
checksum_kubeedge-v1.10.1-linux-amd64.tar.gz.txt
cloudcore.service
crds
kubeedge-v1.10.1-linux-amd64.tar.gz
此时再次执行初始化命令,即可完成kubeedge云端的部署
1.5 相关问题
查看cloudcore的运行状态
systemctl status cloudcore
云端cloudcore正在运行,再次查看状态,发现服务已经停止
cloudcore运行起来立刻挂掉,查看运行日志
发现10002端口已经在使用中,查看端口的使用情况
netstat -ntlp
10002端口正在被cloudcore使用,此时怀疑是cloudcore已经在运行中,导致端口冲突,通过下面的命令查看cloudcore的运行情况
ps -ef | grep cloudcore
结果如下
只有一个进程在运行,不知道问题出现在了哪里。
后来直接删除了cloudcore进程
pkill cloudcore
之后,再次查看运行状态,发现竟然没有问题了,自己也有点懵,希望有大佬指点