邊緣計算是指在靠近物或數據源頭的⼀側,採用網絡、計算、存儲、應用核心能力爲⼀體的開放平臺,就近提供最近端服務。其應用程序在邊緣側發起,產生更快的網絡服務響應,滿足行業在實時業務、應⽤智能、安全與隱私保護等方面的基本需求。邊緣計算處於物理實體和⼯業連接之間,或處於物理實體的頂端。
根據計算能力大小,邊緣計算可以分爲兩⼤類:
-
輕邊緣:計算能力受限,網絡條件差,業務單⼀,數量龐⼤,地理位置分散,⽐如智慧小區,車聯網,無人機等。
-
重邊緣:計算能力相對充足,網絡條件相對穩定,業務複雜,可靠性,安全性有⼀定要求,比如 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 可以互相通訊。