Edge_Computing
边缘计算框架
基于k8s+kubeedge+sedna框架设计典型演示应用
环境安装流程参照:k8s+kubeedge+sedna安装全套流程+避坑指南+解决办法
演示应用
基于Sedna的头盔检测联合推理服务
联合推理通过边缘-云端协同,利用边缘轻量级模型(YOLOv3+ResNet18)处理简单样本,云端高精度模型(YOLOv3+Darknet)优化困难样本,实现精度与效率的平衡。
最终实现效果:

实操
在虚拟机上部署边缘计算框架记得保存快照,会有很多回退的机会
同时云边快照回退到的快照时间要相似,不然node可能notready(无法解决)
云端
6.22
1.问题:centos桥接不能使用校园网,要使用流量
2.问题:桥接下没网
解决:解决方案
在控制面板中找到网卡,在虚拟机里设置管理员模式下将虚拟机桥接到网卡上
3.问题:centos执行语句yum -y install wget vim net-tools ntpdate bash-completion出现Cannot find a valid baseurl for repo: base/7/x86_64报错
解决:解决方案
6.25
1.问题:pod出现imagepullbackoff
解决:docker代理配置要配置到正确的ip。要配置clash的ip,clash要启用局域网连接
创建docker目录
mkdir -p /etc/docker
设置镜像源, exec-opts必须指定否则k8s启动报错(cgroup、systemd)
tee /etc/docker/daemon.json <<-'EOF'
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://192.168.201.165:7897"]
}
EOF
重启docke并生效镜像加速
systemctl daemon-reload && systemctl restart docker
2.问题:云边端telnet显示不可达,但ping可通
解决:
云端关闭防火墙systemctl stop firewalld & systemctl disable firewalld
7.7
1.问题:热点IP变化,导致原始虚拟机配置不可用,云边端不可达
解决:通过网线直连两个主机,构建静态IP。虚拟机构建两个网卡,用于连接主机和外网
2.问题:虚拟机里一直显示网络连接激活失败,可以ping通边端主机,但不可ping通外网www.baidu.com
解决:虚拟机构建的网卡桥接到对应的真实网卡,执行service network restart
刷新网络
边端
6.22
安装完centos+docker+keadm并加入云节点管理
1.记录一下docker配置镜像源:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://6kx4zyno.mirror.aliyuncs.com"
]
}
EOF
systemctl daemon-reload & systemctl restart docker
2.加入云节点报错:不在同一局域网中,都连同一个热点就好了
3.连上了但跑不通,边缘节点的状态一直fail:关闭防火墙sudo systemctl stop firewalld
,sudo systemctl disable firewalld
4.当跑通后再次出现云边连不上的情况:如果有快照就回上一个状态重新安装部署;如果没有,就直接删除然后部署,删除流程如下:
sudo docker stop mqtt
sudo docker rm mqtt
sudo docker ps -a | grep mqtt
rm -r /etc/kubeedge
docker ps -a
journalctl -u edgecore.service --no-pager
systemctl daemon-reload && systemctl restart docker
6.25
配置边缘 Kube-API 端点并跨边云通信
1.运行curl 127.0.0.1:10550/api/v1/services
无响应:应该是云端出了问题,让云端查查
2.边端没有kubectl的问题:先安装kubectl再从k8s-master节点把etc/kubernetes/admin.conf拷贝过来,复制到kubeedge节点
注意每开一个终端,都会出现下面的错误:

因此每次开终端都运行一下下面这个命令:
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
kubectl get pods
3.在运行kubectl get pods -n edgezone
时如果出现ImagePullBackOff
:

是docker代理配置没配置到正确的ip:要配置到clash的ip,clash要启用局域网连接云边,这样云边可以共用一个代理
更改代理:vim /etc/systemd/system/docker.service.d/http-proxy.conf
4.进行云边通信测试时显示不可达,但ping可通:

说明防火墙没关,关一下就行 systemctl stop firewalld & systemctl disable firewalld
部署应用
应用部署流程见部署指南。
注意:对于build_image.sh,在云端运行时注释掉little,在边端运行时注释掉big
报错解决
1.在运行build_image.sh时timeout:在dockerfile里面加上国内镜像源(apt和pip),同时把代理也配置上
2.运行wget https://github.com/EasyDarwin/EasyDarwin/releases/download/v8.1.0/EasyDarwin-linux-8.1.0-1901141151.tar.gz
报错:目前EasyDarwin官网上已经没有这个包了,需要在EasyDarwin官网上下载;或者可以使用我们上传到网盘中的EasyDarwin压缩包。
Edge_Computing
边缘计算框架
基于k8s+kubeedge+sedna框架设计典型演示应用
环境安装流程参照:k8s+kubeedge+sedna安装全套流程+避坑指南+解决办法
演示应用
基于Sedna的头盔检测联合推理服务
联合推理通过边缘-云端协同,利用边缘轻量级模型(YOLOv3+ResNet18)处理简单样本,云端高精度模型(YOLOv3+Darknet)优化困难样本,实现精度与效率的平衡。
最终实现效果:
实操
在虚拟机上部署边缘计算框架记得保存快照,会有很多回退的机会
同时云边快照回退到的快照时间要相似,不然node可能notready(无法解决)
云端
6.22 1.问题:centos桥接不能使用校园网,要使用流量
2.问题:桥接下没网 解决:解决方案 在控制面板中找到网卡,在虚拟机里设置管理员模式下将虚拟机桥接到网卡上
3.问题:centos执行语句yum -y install wget vim net-tools ntpdate bash-completion出现Cannot find a valid baseurl for repo: base/7/x86_64报错 解决:解决方案
6.25 1.问题:pod出现imagepullbackoff 解决:docker代理配置要配置到正确的ip。要配置clash的ip,clash要启用局域网连接 创建docker目录
设置镜像源, exec-opts必须指定否则k8s启动报错(cgroup、systemd)
重启docke并生效镜像加速
2.问题:云边端telnet显示不可达,但ping可通 解决: 云端关闭防火墙
systemctl stop firewalld & systemctl disable firewalld
7.7 1.问题:热点IP变化,导致原始虚拟机配置不可用,云边端不可达 解决:通过网线直连两个主机,构建静态IP。虚拟机构建两个网卡,用于连接主机和外网
2.问题:虚拟机里一直显示网络连接激活失败,可以ping通边端主机,但不可ping通外网
www.baidu.com
解决:虚拟机构建的网卡桥接到对应的真实网卡,执行service network restart
刷新网络边端
6.22
安装完centos+docker+keadm并加入云节点管理
1.记录一下docker配置镜像源:
2.加入云节点报错:不在同一局域网中,都连同一个热点就好了
3.连上了但跑不通,边缘节点的状态一直fail:关闭防火墙
sudo systemctl stop firewalld
,sudo systemctl disable firewalld
4.当跑通后再次出现云边连不上的情况:如果有快照就回上一个状态重新安装部署;如果没有,就直接删除然后部署,删除流程如下:
6.25
配置边缘 Kube-API 端点并跨边云通信
1.运行
curl 127.0.0.1:10550/api/v1/services
无响应:应该是云端出了问题,让云端查查2.边端没有kubectl的问题:先安装kubectl再从k8s-master节点把etc/kubernetes/admin.conf拷贝过来,复制到kubeedge节点
注意每开一个终端,都会出现下面的错误:
因此每次开终端都运行一下下面这个命令:
3.在运行
kubectl get pods -n edgezone
时如果出现ImagePullBackOff
:是docker代理配置没配置到正确的ip:要配置到clash的ip,clash要启用局域网连接云边,这样云边可以共用一个代理
更改代理:
vim /etc/systemd/system/docker.service.d/http-proxy.conf
4.进行云边通信测试时显示不可达,但ping可通:
说明防火墙没关,关一下就行
systemctl stop firewalld & systemctl disable firewalld
部署应用
应用部署流程见部署指南。
注意:对于build_image.sh,在云端运行时注释掉little,在边端运行时注释掉big
报错解决
1.在运行build_image.sh时timeout:在dockerfile里面加上国内镜像源(apt和pip),同时把代理也配置上
2.运行
wget https://github.com/EasyDarwin/EasyDarwin/releases/download/v8.1.0/EasyDarwin-linux-8.1.0-1901141151.tar.gz
报错:目前EasyDarwin官网上已经没有这个包了,需要在EasyDarwin官网上下载;或者可以使用我们上传到网盘中的EasyDarwin压缩包。