kubeedge 1.9.安装,基于将cloudcore及edgecore 安装在同一台虚拟机上
准备动作
下载二进制包,ln keadm命令到etc
[root@140 etc]# ls -ltr /usr/bin/keadm lrwxrwxrwx. 1 root root 51 Jan 25 10:33 /usr/bin/keadm -> /root/kubeedge/keadm-v1.9.1-linux-amd64/keadm/keadm
或者keadm直接复制到path下
复制kubeedge master的/etc/kubernetes到本机,kubernetes目录信息如下
[root@140 etc]# pwd /etc [root@140 etc]# ls -ltr kubernetes total 32 -rw-------. 1 root root 5453 Jan 7 14:33 admin.conf -rw-------. 1 root root 5485 Jan 7 14:33 controller-manager.conf -rw-------. 1 root root 5437 Jan 7 14:33 scheduler.conf drwxr-xr-x. 2 root root 113 Jan 7 14:33 manifests -rw-------. 1 root root 1857 Jan 7 14:33 kubelet.conf drwxr-xr-x. 3 root root 4096 Jan 25 15:44 pki
ps:可以通过看certgen.sh 后删除kubernetes目录下不必要的文件。
复制二进制包和源代码包中的相关文件/etc/kubeedge 下
[root@140 etc]# ls -ltr kubeedge total 74280 drwxr-xr-x. 4 root root 46 Dec 17 15:51 kubeedge-v1.9.1-linux-amd64 -rw-r--r--. 1 root root 129 Jan 25 14:43 checksum_edgesite-v1.9.1-linux-amd64.tar.gz.txt -rw-r--r--. 1 root root 129 Jan 25 14:43 checksum_keadm-v1.9.1-linux-amd64.tar.gz.txt -rw-r--r--. 1 root root 129 Jan 25 14:43 checksum_kubeedge-v1.9.1-linux-amd64.tar.gz.txt drwxr-xr-x. 5 root root 56 Jan 25 14:43 crds -rw-r--r--. 1 root root 162 Jan 25 14:44 cloudcore.service -rw-r--r--. 2 root root 160 Jan 25 14:44 edgecore.service -rw-r--r--. 1 root root 14109251 Jan 25 14:45 edgesite-v1.9.1-linux-amd64.tar.gz -rw-r--r--. 1 root root 15761857 Jan 25 14:45 keadm-v1.9.1-linux-amd64.tar.gz -rw-r--r--. 1 root root 46070902 Jan 25 14:45 kubeedge-v1.9.1-linux-amd64.tar.gz
drwxr-xr-x. 2 root root 73 Jan 25 15:07 tools
-rw-r--r--. 1 root root 92160 Jan 25 15:42 kubernetes.tar
drwxr-xr-x. 2 root root 49 Jan 25 16:20 config
drwxr-xr-x. 2 root root 80 Jan 26 14:26 ca
drwxr-xr-x. 2 root root 255 Jan 26 14:26 certs
以上目录中
-
tools
-
crds
-
cloudcore.service
-
edgecore.service 来自源代码包
-
config
-
ca
-
certs 来自安装过程
安装
先生成CA KEY
export CLOUDCOREIPS=192.168.XXX.XXX
tools/certgen.sh stream 192.168.XXX.XXX
tools/certgen.sh edgesiteServer -i 192.168.XXX.XXX
注意edgesiteServer 使用了getopts (使用参考https://www.cnblogs.com/klb561/p/8933992.html),必须使用-i。 ca key文件保存在ca及certs目录下。 使用-I 后使用openssl x509 -in certs/server.crt -text -noout 查看才会出现如下内容
X509v3 Subject Alternative Name: IP Address:127.0.0.1, IP Address:192.168.XXX.XXX
否则会有x509: cannot validate certificate for x.x.x.x because it doesn’t contain any IP SANs 错误。
然后进行init和join。
keadm init --domainname=kubeedge.io --advertise-address=192.168.XXX.XXX --kubeedge-version=1.9.1
[root@140 kubeedge]# keadm gettoken
xxxxx
[root@140 kubeedge]# keadm join --cloudcore-ipport=192.168.XXX.XXX:10000 --edgenode-name=node140edge --kubeedge-version=1.9.1 --token=xxxx
一起成功后,kubectl get nodes结果如下
[root@bd213 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
bd213 Ready node 19d v1.17.1
bd214 Ready master,node 19d v1.17.1
node140edge Ready agent,edge 36s v1.19.3-kubeedge-v1.9.1
[root@bd213 ~]#
出现edge。
[root@140 etc]# ls -ltr /usr/local/bin/edgecore -rwxr-xr-x. 1 root root 66113416 Jan 25 15:59 /usr/local/bin/edgecore [root@140 etc]# ls -ltr /usr/local/bin/cloudcore -rwxr-xr-x. 1 root root 42076872 Jan 25 15:18 /usr/local/bin/cloudcore
总结
1、cloudcore需要同步kubernetes master数据并对外暴露端口因此需加强安全防护 2、kubeedge 文档还是比较差,需要仔细阅读代码,尤其是certgen.sh 3、kubeedge基于golang 开发,可以使用-v 5/10等debug查看更多信息 4、本质是启动cloudcore及edgecore 及mosquitto,可以用service模式,也可以使用其它方式启动 5、cloudcore默认没有以service启动,但edgecore及mosquitto会以service启动