zhu733756 1 检查是不是解压缩问题https://superuser.com/questions/841865/extracting-a-tar-gz-file-returns-this-does-not-look-like-a-tar-archive 2 有可能网络原因,二进制包没下载完整,重新下一编
dahaian zhu733756 貌似不行啊,我启动边缘端的edgecore一直报错,报说无法连接某一个端口10002的,我测试了本地获取也一样被拒绝,就是这个地址https://127.0.0.1:10002/ca.crt无法访问
dahaian zhu733756 不是的,我发的那个地址是在云端服务器上本地测试访问的,都无法访问,然后我用虚拟机做了一个测试,云端和边缘端都在同一个内网,没有端口问题,照样报那个错误,防火墙也确定已经关闭,貌似是bug
zhu733756 dahaian 证书用之前的ip生成的,得重新签发证书,或者把对应的云端组件卸载了重装,云端组件一旦确定了IP,最好不好乱换。先卸载边端,再卸载云端。 云端卸载步骤: helm uninstall kubeedge -n kubeedge kubectl delete ns kubeedge
zhu733756 dahaian 那你就把边端的证书删除了重新join试试。 rm -rf /var/lib/kubeedge /var/lib/edged /etc/kubeedge rm -rf /etc/systemd/system/edgecore.service rm -rf /usr/local/bin/edgecore
zhu733756 zhu733756 还有检查你的端口号有米有问题。参考文档 https://kubesphere.com.cn/forum/d/4362-kubeedge。 如果边缘节点和k8s集群在一个局域网,可以使用nodePort方式加入边缘节点,默认已开放的nodeport端口为 30000-30004,所以边缘节点join集群的时候得将外部端口 10000-10004改为 30000-30004,也就是将其中的–cloudcore-ipport=192.168.x.x:10000 –quicport 10001 –certport 10002 –tunnelport 10004 改为 –cloudcore-ipport=192.168.x.x:30000 –quicport 30001 –certport 30002 –tunnelport 30004,不过需要指出的是,设计是从外网考虑,请明确边缘节点的应用场景。
dahaian zhu733756 我重新删除了边缘节点的数据后重新join还是一样的错误,你说的边缘节点和k8s同一个内网使用nodeport端口那块我其实那个云端只是一个测试云端,我也有一个不在一个局域网的云端,再说就算是局域网的云端也可以正常使用10000-10004端口来测试的。不清楚为啥老是证书获取失败的
dahaian zhu733756 首先这边是云端,我已经安装了一个单节点的云端节点: 然后这边输入边缘节点获取链接 因为我已经手动下载并解压了keadm,所以我就复制了join的名字进行执行,执行结果如下: 执行日志如下: 云端的cloudcore一直正常运行。
dahaian zhu733756 硬件和系统环境是这样: 云端:x86的cpu 、centos7的系统 边缘端:arm64的cpu、Ubuntu20的系统 k8s版本:v1.20.4 kubesphere:v3.1.0 使用的kubekey版本:v1.1.0
zhu733756 dahaian 首先确认一点,你的云端和边缘在一个局域网是不? 默认是可以用nodeport访问的,局域网内30000-30004是云端开放的端口,现在你通过局域网外端口10000-10004加入,你得保证iptables有映射10000-10004映射到30000-30004, 不然你只能手动修改cmd得port全部改成3开头得端口。那个帖子第六个你好好看看。 https://kubesphere.com.cn/forum/d/4362-kubeedge。
zhu733756 dahaian 边缘节点cat /etc/kubeedge/config/edgecore.yaml看看里面的端口跟你cmd修改的对不对,以及edgemesh开了没有。对了,重装的时候先把环境删干净了重装。