边缘计算是指在靠近物或数据源头的⼀侧,采用网络、计算、存储、应用核心能力为⼀体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应⽤智能、安全与隐私保护等方面的基本需求。边缘计算处于物理实体和⼯业连接之间,或处于物理实体的顶端。
根据计算能力大小,边缘计算可以分为两⼤类:
-
轻边缘:计算能力受限,网络条件差,业务单⼀,数量庞⼤,地理位置分散,⽐如智慧小区,车联网,无人机等。
-
重边缘:计算能力相对充足,网络条件相对稳定,业务复杂,可靠性,安全性有⼀定要求,比如 5G MEC,工业互联网,智慧城市等。
FabEdge 是⼀个基于 kubernetes 构建的,专注于边缘计算场景的容器网络⽅案,解决了边缘计算场景下⽹络管理复杂,割裂互不通信,缺少拓扑感知能力,无法提供就近访问等问题,使能云边、边边之间的业务协同。FabEdge 支持 KubeEdge,SuperEdge, OpenYurt 等边缘计算框架管理的轻量边缘节点。在最新发布的 V0.4 版中,加⼊对重边缘,也就是边缘集群的⽀持,完成了对所有边缘场景的全覆盖。
以上图为例,共有三个集群,集群 blue 是 host 集群,负责管理其它集群的通讯;集群 red,green 是两个成员集群,会上报本集群的网络配置信息到 host 集群 blue。将集群 red 和 green 加入 community1 后,FabEdge 会自动建立集群 red 和 green 之间的隧道,允许两个集群之间的 pod 和 service 之间的互访。
FabEdge 多集群通讯的的交互过程见下图:
1. 在 host 集群中先创建集群 green 和 red,获取相应 token。
2. 使⽤获取的 token 注册集群 green 和 red。
3. 集群 green 和 red 汇报本集群网络端点信息到 host 集群。
4. 将集群 green 和 red 加⼊⼀个 community。
5. 集群 green 和 red 定时从 host 集群拉取远程的端点信息。
6. host 集群根据 community 信息,为集群 green 和 red 下发相关的端点信息到成员集群 operator。
7. 成员集群 green 和 red 的 operator 为自己 connector 更新 configmap。
8. 成员集群 green 和 red 的 connector 根据⾃⼰的 configmap 发起到对⽅的隧道。
9. 隧道建⽴成功后,成员集群 green 和 red 可以互相通讯。