目录
目录README.md

Edge_Computing

边缘计算框架

基于k8s+kubeedge+sedna框架设计典型演示应用

环境安装流程参照:k8s+kubeedge+sedna安装全套流程+避坑指南+解决办法

演示应用

基于Sedna的头盔检测联合推理服务

联合推理通过边缘-云端协同,利用边缘轻量级模型(YOLOv3+ResNet18)处理简单样本,云端高精度模型(YOLOv3+Darknet)优化困难样本,实现精度与效率的平衡。

最终实现效果:

output_1 output_2 output_3 output_4

实操

在虚拟机上部署边缘计算框架记得保存快照,会有很多回退的机会

同时云边快照回退到的快照时间要相似,不然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 firewalldsudo 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节点

注意每开一个终端,都会出现下面的错误:

edge_error_1

因此每次开终端都运行一下下面这个命令:

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
kubectl get pods

3.在运行kubectl get pods -n edgezone时如果出现ImagePullBackOff

edge_error_2

是docker代理配置没配置到正确的ip:要配置到clash的ip,clash要启用局域网连接云边,这样云边可以共用一个代理

更改代理:vim /etc/systemd/system/docker.service.d/http-proxy.conf

4.进行云边通信测试时显示不可达,但ping可通:

edge_error_3

说明防火墙没关,关一下就行 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压缩包

关于

分布式计算环境实验

8.0 MB
邀请码