乐趣区

关于开源:聚焦支持边缘弱网环境博云开源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 微信交换群

退出移动版