关于开源:聚焦支持边缘弱网环境博云开源FabEdge边缘网络方案

2021 年 8 月 2 日,博云正式开源 FabEdge 边缘网络计划。FabEdge 是一款基于 kubernetes 和 kubeedge 构建的开源网络计划,解决边缘计算场景下,容器网络配置管理简单、网络割裂互不通信、短少服务发现、短少拓扑感知能力、无奈提供就近拜访等难题。

并且,Fabedge 反对弱网环境,如4/5G,WiFi,LoRa 等;反对边缘节点动静 IP 地址,实用于物联网,车联网等场景。

目前,FabEdge 我的项目代码已在Github上开源,我的项目地址为:https://github.com/FabEdge/fa…。我的项目应用 Apache 2.0 协定,欢送更多技术开发者和爱好者前去试用和应用。

01

Features  五大个性

• Kubernetes 原生反对:齐全兼容的 Kubernetes API ,无需额定开发,依赖较少的通用开源组件,即插即用。

 

• 边缘容器网络管理:为边缘节点实现网络地址段治理,以及边缘容器网络地址调配。

• 边云协同/边边协同:通过隧道技术买通边缘容器与云端容器,以及边缘节点间容器的互相平安通信,实现边云协同和边边协同。

• 边缘 “ 社区 ”:应用“社区” CRD 自定义资源管制哪些边缘节点能够相互通信。

• 就近拜访:优先应用本地服务,其次应用云端服务。

02

Advantages  三大劣势

规范 —— 齐全兼容 k8s api, 即插即用反对任何规范 k8s 集群;

平安  —— 所有通信应用基于证书的 IPSEC 隧道;

易用  —— 应用 Operator 机制,起码化的人工运维代价。

 

03

How it works?   

云端是规范 Kubernete 集群,能够应用任何 CNI 网络插件,比方 Calico。在集群里运行 KubeEdge 云端组件 cloudcore,在边缘节点运行 KubeEdge 边缘组件 edgecore ,边缘节点注册到云端集群,

Fabedge有三个组件组成,别离是:Operator、 Connector 和 Agent。

Operator 运行在云端集群,监控节点,服务等资源变动,动静为边缘节点保护configmap ,同时为每个边缘节点生成 Agent ;Connector 运行在云端,负责云端网络配置管理,并在云端和边缘节点转发流量;而 Agent 生产 configmap 信息,动静保护本节点隧道、路由、iptables 等网络配置。

 

FabEdge 架构图

 

FabEdge利用两个通道实现云边数据交换,一个是kubeedge治理的websock/quic 通道,用于管制信令;另一个是 FabEdge 本身治理的加密隧道,用于利用之间的数据传输。

Operator 在云端监听 node、service、endpoint 等 k8s 资源,为每个边缘节点生成一个 configmap,蕴含本节点的子网、隧道、负载平衡等相干配置信息。同时 operator 负责为每个边缘节点生成相应的 pod,用于启动本节点上的agent。

Connector 负责终结到边缘节点加密隧道,在云和边缘节点进行流量转发。它依赖云端CNI插件将流量转发到 connector 以外的节点,目前反对的云端 CNI 插件是 callico 。

边缘节点应用社区 CNI 插件 bridge 和 host-local,是应用社区 node-local-dns 地址解析性能,负责本节点的域名解析和缓存。

每个边缘节点运行一个 agent ,生产本节点对应 configmap,包含以下性能:

治理本节点 CNI 插件的配置文件

治理本节点平安隧道

治理本节点的负载平衡信息,会优先应用本地服务后端,其次是用云端后端

04

FabEdge vs Calico/Flannel

Fabedge 不同与 Calico,Flannel 等规范 Kubernetes 网络插件。这些插件次要利用在数据中心,解决 kubernetes 集群外部网络问题,而 Fabedge 解决的是边缘计算场景下,应用 Kubeedge 将边缘节点接入云端 Kubernetes 集群后,不同边缘节点上 POD 之间, 边缘节点 POD 和云端 POD 之间如何通信的问题。目前 Fabedge 反对无缝集成云端 Calico 插件,当前会扩大到其它插件。

关注“博云”公众号退出FabEdge微信交换群

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理