2020十大邊緣計算開源項目
2020 年是非常特別的一年,各行各業都非常艱難,但是有一股力量逆勢增長,不斷迎來新的突破,那就是開源。即使是資本寒冬,一些開源公司如EMQ也能逆勢融資,Rancher也能和SUSE強強聯合,開源充滿無限可能,這是屬于開源的最好的時代,每一位開發者都是星星之火,星星之火可以燎原。
邊緣計算社區經過一個月調研,梳理了 2020 年邊緣計算領域較為活躍和創新、熱門的十個開源項目 KubeEdge、StarlingX、K3s、EdgeXfoundry、EdgeGallery、Akraino、Baetyl、OpenYurt、SuperEdge、Azure IoT Edge,無關派別,以下排名不分先后,萬字長文,建議收藏。
1.KubeEdge
項目介紹:
KubeEdge 名字來源于 Kube + Edge,是面向邊緣計算場景、專為邊云協同設計的業界首個云原生邊緣計算框架,在 Kubernetes 原生的容器編排調度能力之上實現了邊云之間的應用協同、資源協同、數據協同和設備協同等能力,完整打通了邊緣計算中云、邊、設備協同的場景。
KubeEdge 于 2019 年 3 月正式進入 CNCF 成為沙箱級項目(Sandbox),也成為 CNCF 首個云原生邊緣計算項目。并于 2020 年 9 月晉升為孵化級項目(Incubating),成為 CNCF 首個孵化的云原生邊緣計算項目。
2020 年大事記
2020 年 9 月 KubeEdge 晉升為 CNCF 孵化級項目(Incubating),標志著項目已進入大規模生產落地期。目前已在包括 CDN、工業、能源、園區、交通等在內的多個行業迅速發展并生產落地,落地用戶包括聯通沃云、諧云、時速云、中移在線、瑞斯康達等組織。
截至 2020 年 12 月,KubeEdge 社區累計吸引全球開發者 6 萬+,其中來自超過 40 個企業組織的 550 多名開發者參與了社區的核心代碼貢獻,社區合作伙伴包括 Arm、三星電子、法國電信、中國移動、中國聯通、中國電信、華為云、時速云、KubeSphere、EMQ 等。
相關介紹
KubeEdge 架構上分為云、邊、端三個層次。云端負責應用和配置的校驗、下發,邊緣側負責運行邊緣應用和管理接入的設備,設備端運行各種邊緣設備。KubeEdge 完整打通了邊緣計算中云、邊、設備協同的場景。

其核心能力包括:
- 支持復雜的邊云網絡環境:雙向多路復用邊云消息通道提供應用層可靠增量同步機制,支持高時延、低質量網絡環境。
- 應用/數據邊緣自治:支持邊緣離線自治及邊緣數據處理工作流
- 邊云一體資源調度和流量協同:支持邊云節點混合管理、應用流量統一調度
- 支持海量邊緣設備管理:資源占用業界同類最小;提供可插拔設備管理框架,支持自定義插件擴展
- 開放生態:100%兼容 Kubernetes 原生能力;支持 MQTT、Modbus、Bluetooth、Wifi、ZigBee 等業界主流設備通信協議。
未來 KubeEdge 將持續以云原生技術為基礎、結合邊緣計算場景,將云原生技術無縫擴展到邊緣,打造最好用的云原生邊緣計算平臺。
官網:https://kubeedge.io
Github:https://github.com/kubeedge
2.Starlingx
項目介紹:
StarlingX,一個專注于對低延遲和高性能應用進行優化的開源邊緣計算及物聯網云平臺,StarlingX 項目旨在為邊緣計算重新配置經過驗證的云技術,在大規模分布式計算環境中提供成熟且穩健的云平臺。StarlingX 是適用于裸機、虛擬機和容器化部署環境的完整邊緣云基礎設施平臺,適用于對高可用性(HA)、服務質量(QoS)、性能和低延遲等有嚴格要求的應用場景。
2020 年大事記
2020 年 8 月正式發布 4.0 版本。社區將對 Kata Containers 的支持添加為一個容器運行時,集成了 OpenStack 的 Ussuri 版本,將剩余的平臺服務容器化,以列出對軟件的一些增強。
2020 年,StarlingX 項目被批準為開源基礎設施基金會的頂級項目之一。在這一年中,有 111 位貢獻者將 2237 項代碼更改合并到了代碼庫中。這還不包括提交到平臺集成的相鄰項目的代碼庫中的更改(例如 Kubernetes)。
相關介紹

StarlingX 提供了可部署、可擴展和高度可靠的邊緣基礎設施軟件平臺,用以構建關鍵任務邊緣云。作為完整的堆棧進行測試和發布,StarlingX 利用了其他開源項目的組件,例如 Ceph、Linux、KVM、OpenStack 和 Kubernetes,并通過配置和故障管理等新服務對其進行了補充。StarlingX 社區針對安全性,超低延遲,超高服務正常運行時間以及面向邊緣和 IoT 用例的簡化操作優化了解決方案。
StarlingX的應用場景包括遠端或最后一英里,以及應用用例,例如工廠中的內部云、工業物聯網、自動駕駛汽車和其他基于運輸的物聯網應用,多訪問邊緣計算(MEC)和虛擬無線電接入網絡(vRAN)、5G、智能建筑和城市、增強和虛擬現實、高清媒體內容交付、監控、醫療影像以及通用客戶前提設備(uCPE),在今后的幾年中將會呈現高速的增長。
官網:www.starlingx.io
Github:https://github.com/starlingx
3.K3s
項目介紹
k3s 是首個進入 CNCF 沙箱項目的 K8S 發行版,同時也是當前全球用戶量最大的 CNCF 認證輕量級 K8S 發行版。自 2019 年 3 月發布以來,備受全球開發者們關注,至今 GitHub Star 數已超過 15,500,成為了開源社區最受歡迎的邊緣計算 K8S 解決方案。截至目前,K3s 全球下載量超過 100 萬次,每周平均被安裝超過 2 萬次,其中 30%的下載量來自中國。
k3s 專為在資源有限的環境中運行 Kubernetes 的研發和運維人員設計,將滿足日益增長的在邊緣計算環境中運行在 x86、ARM64 和 ARMv7 處理器上的小型、易于管理的 Kubernetes 集群需求。k3s 的發布,為開發者們提供了以“Rancher 2.X + k3s”為核心的從數據中心到云到邊到端的 K8S 即服務(Kubernetes-as-a-Service),推動 KubernetesEverywhere。
2020 大事記
2020 年 8 月,K3s 加入 CNCF 沙箱項目,是首個進入 CNCF 沙箱項目的 Kubernetes 發行版,同時也是當前全球用戶量最大的 CNCF 認證輕量級 Kubernetes 發行版。
2020 年 10 月,Rancher 中國團隊正式發布并開源了 K3s 自動化工具項目 AutoK3s, 它是一款輕量級工具,用于在多個云供應商上快速創建和管理 K3s 集群。它可以幫助用戶快速完成 K3s 集群的個性化配置,同時集成 Kubectl 以提供便捷的集群訪問功能。
相關介紹
當組織同時使用 Rancher 和 K3s 時,組織將擁有一個在邊緣運行 Kubernetes 的簡單且完整的解決方案。

通過消除安裝 Kubernetes 的復雜性和學習成本,K3s 極大地簡化了邊緣部署。K3s 與架構無關,并且占用空間極小。K3s 的易用性使組織可以從堆棧中獲得更高的價值,將集群部署至數百甚至數千個地點,并快速啟動這些集群。Rancher 通過 Rancher 持續交付(Continuous Delivery)幫助 K3s 用戶管理大量集群,Rancher 為用戶提供了一個控制器,使他們能夠在邊緣高效地管理 Kubernetes。K3s 為邊緣部署提供動力,并推動組織實現真正的數字化轉型。
官網:https://www.rancher.cn/k3s/
Github:https://github.com/k3s-io/k3s
4.EdgeX Foundry
項目介紹:
EdgeX Foundry 是由 Linux 基金會運營的廠商中立的開放源碼項目,旨在為物聯網邊緣計算創建公共開放的框架。該項目的核心是基于與硬件和操作系統完全無關的參考軟件平臺建立的互操作框架,使能即插即用的組件生態系統,統一市場,加速物聯網方案的部署。

EdgeX Foundry 使有意參與的各方在開放與互操作的物聯網方案中自由協作,無論他們是使用公開標準或私有方案。Edgex Foundry 由 LF Edge 運營,目前有 60 多家全球企業參與,150 多名工程師貢獻代碼。EdgeX 中國項目于 2019 年底成立,負責運營中國區的技術推廣并吸引更多的代碼貢獻。VMware 和 Intel 是 EdgeX 中國項目的聯合維護單位。
大事記
2020 年 EdgeX 全球下載量累計達到 800 萬次,來自中國的下載排名全球第二,像 Dell、惠普、埃森哲、Intel、Wipro、TIBCO 這樣的全球企業都推出了基于 EdgeX 的行業解決方案。中國今年有 1000 多名專業人士參與社區活動。估計代表了約 200 家各類機構,其中有 30-40 家活躍組織,有 10 家以上的公司(研華科技、京東、中科創達、江行智能、新華三、贊同科技、云創遠景等)公布了基于 EdgeX 的商業技術解決方案,并已經有大量項目落地客戶。
官網:https://www.edgexfoundry.org/
Github:https://github.com/edgexfoundry/
5.EdgeGallery
項目介紹
EdgeGallery 是由設備廠商、運營商,垂直行業伙伴等聯合發起的一個 5G 邊緣計算開源項目。目的是打造一個符合 5G MEC“聯接+計算”特點的邊緣計算公共平臺,實現網絡能力(尤其是 5G 網絡)開放的標準化和 MEC 應用開發、測試、遷移和運行等生命周期流程的通用化。
EdgeGallery 不僅是一個 MEP 平臺,未來更是一個面向應用和開發者的端到端解決方案,將為應用開發者、邊緣運營及運維人員提供一站式服務。
2020 大事記
2020 年 7 月 30 日,來自中國信息通信研究院、中國移動、中國聯通、華為、騰訊、紫金山實驗室、九州云和安恒信息的代表召開首屆 EdgeGallery 開源社區董事會,標志著聚焦 5G 邊緣計算場景的 EdgeGallery 開源項目籌備工作完成,社區正式成立,社區治理進入董事會領導下的規范運作新階段。
2020 年 8 月 6 日,業界首個 5G 邊緣計算開源平臺 EdgeGallery 宣布在碼云上正式開源。9 月 30 日,EdgeGallery 社區正式發布了第二個版本 Blue release。
相關介紹

EdgeGallery 針對邊緣計算場景提供了設計、分發以及運行的 E2E 平臺以及工具鏈。為了繁榮邊緣計算生態,EdgeGallery 還不斷豐富樣例應用、聯邦商城、5G 實驗室等:
- E2E 應用開發部署平臺:a) API 能力中心:面向 APP 開發者,提供更加豐富的開放能力 b) 開發調測換環境:提供 5G MEC 開發調測沙箱以及外場環境 c) 5G 網絡集成:UPF 對接、提供 DNS、流量等規則配置能力
- APP Store 聯邦以及 APP 生態共建:a) 3rd APP Store 管理:提供三方 APP 倉庫的注冊管理功能 b) APP Store 分布式聯邦:實現與三方 APP 倉庫的 APP 推送共享 c) APP 身份證:提供 APP 認證平臺,運營商可定制測試用例
- 邊緣節點可視化管理:a) 邊緣節點 GIS 管理:提供基于在線地圖的邊緣節點以及資源管理,提供街道級別的 MEP 詳細拓撲 b) 5G UPF 分流規則配置:UPF 流量轉發規則,DNS 規則的可視化配置
- 邊緣應用與服務可視化:a) 本地 Portal:新增 MEP 單節點管理界面,用以管理應用和服務,實現基本的服務治理可視化能力 b) 節點服務治理:提供單節點服務的 health check,多節點服務隔離,5G 網絡集成等能力在未來的版本中,社區計劃持續提升 EdgeGallery 平臺的用戶體驗、穩定性、安全性以及提供更豐富的開放能力。
在未來的版本中,社區計劃持續提升EdgeGallery平臺的用戶體驗、穩定性、安全性以及提供更豐富的開放能力。
官網:http://www.edgegallery.org/
Github:https://gitee.com/edgegallery
6.Akraino
項目介紹
Akraino 是針對 Edge 的一組開放式基礎架構和應用藍圖,涵蓋了廣泛的用例,包括針對提供商和企業邊緣域的 5G,AI,Edge IaaS / PaaS,IoT。這些藍圖是由 Akraino 社區創建的,專門針對各種形式的邊緣。所有這些藍圖的統一之處在于它們已經由社區進行了測試,可以按原樣使用,或者用作自定義新邊緣藍圖的起點。
2020 大事記

2020 年 8 月批準的Akraino版本3(R3)包括6個新的藍圖:
① 5G MEC / Slice系統,支持云游戲,高清視頻和現場直播藍圖
②AI Edge:教育視頻安全監控;
③微型MEC
④IEC類型3:Arm服務器上的AndroidCloud本機應用程序邊緣
⑤IEC類型5:用于集成邊緣云的SmartNIC
⑥輕量級5G電信邊緣上的企業應用程序
官網:https://www.lfedge.org/projects/akraino/
Github:https://gerrit.akraino.org/
7.Baetyl
項目介紹
Baetyl,原名 OpenEdge,最早是由百度智能云打造的邊緣計算平臺,于 2018 年 12 月 6 日正式對外開源,也是是中國首個全面開源的邊緣計算平臺。在 2019 年 9 月 23 日,百度宣布將 BAETYL 捐贈給 Linux 基金會旗下社區,是中國首個 LF Edge 捐贈項目。2020-07-08,Baetyl 2.0 正式發布,同步開源了邊緣計算云管平臺 Baetyl-Cloud。
Baetyl 旨在將云計算能力拓展至用戶現場。提供臨時離線、低延時的計算服務,包括數據接入、消息路由、函數計算、流式計算、AI 推斷等功能。配合最新開源的云管平臺 Baetyl-Cloud,可以實現應用部署、配置下發、系統監控等功能。提供了完整的“云管理、邊運行”的一體化解決方案。
大事記
2020-07-08,Baetyl 2.0 正式發布,Baetyl2.0 最重要的亮點包括:
- 增加全新的遠程管理系統 Baetyl-Cloud,支持對多個邊緣節點的管理。
- 邊緣和遠程管理框架全部向云原生演化,已支持運行在原生 Kubernetes 或 K3S 之上。
- 引入聲明式的設計,通過設備影子實現端云同步。
- 升級內部架構,支持未來升級到邊緣集群。
相關介紹

云端管理套件和邊緣計算框架
云端管理套件
1.云端管理套件(Cloud Management Suite)負責管理所有資源,包括節點、應用、配置、部署等。所有功能的實現都插件化,方便功能擴展和第三方服務的接入,提供豐富的應用。云端管理套件的部署非常靈活,即可部署在公有云上,又可部署在私有化環境中,還可部署在普通設備上,支持 K8S/K3S 部署,支持單租戶和多租戶。
2.開源版云端管理套件提供的基礎功能如下:
- 邊緣節點管理
- 在線安裝
- 端云同步(影子)
- 節點信息
- 節點狀態
- 應用狀態
- 應用部署管理
- 容器應用
- 函數應用
- 節點匹配(自動)
- 配置管理
- 普通配置
- 函數配置
- 密文
- 證書
- 鏡像庫憑證
- 開源版本包含上述所有功能的 RESTful API,暫不包含前端界面(Dashboard)。
邊緣計算框架
邊緣計算框架(Edge Computing Framework)運行在邊緣節點的 Kubernetes 上, 管理和部署節點的所有應用,通過應用服務提供各式各樣的能力。應用包含系統應用和普通應用,系統應用全部由 Baetyl 官方提供,用戶無需配置。
目前有如下幾個系統應用:
- baetyl-init:負責激活邊緣節點到云端,并初始化 baetyl-core,任務完成后就會退出。
- baetyl-core:負責本地節點管理(node)、端云數據同步(sync)和應用部署(engine)。
- baetyl-function: 所有函數運行時服務的代理模塊,函數調用都到通過這個模塊。
目前框架支持 Linux/amd64、Linux/arm64、Linux/armv
如果邊緣節點的資源有限,可考慮使用輕量版 Kubernetes:K3S。
官網:https://baetyl.io/
Github:https://github.com/baetyl
8. OpenYurt
項目介紹
OpenYurt 是業界首個開源的非侵入式邊緣計算云原生平臺,秉承“Extending your native Kubernetes to Edge”的非侵入式設計理念,擁有可實現邊緣計算全場景覆蓋的能力。
使用 OpenYurt(Yurt,/jɜːrt/,蒙古包)作為開源項目名稱,期望以其“形”來表示邊緣計算側重于創建一個集中管理但物理分布的基礎設施,并支持自動/自治運行操作的含義。OpenYurt 主打“非侵入式云邊一體化”概念,依托原生 Kubernetes 強大的容器編排、調度能力,通過眾多邊緣計算應用場景錘煉,實現了一整套對原生 Kubernetes“零”侵入的邊緣云原生方案,提供諸如邊緣自治、高效運維通道、邊緣單元化管理、邊緣流量拓撲管理,安全容器、邊緣 Serverless/FaaS、異構資源支持等能力。OpenYurt 能幫用戶解決在海量邊、端資源上完成大規模應用交付、運維、管控的問題,并提供中心服務下沉通道,實現和邊緣計算應用的無縫對接。
在短短一年內,作為公共云服務 ACK@Edge 的核心框架,OpenYurt 已實現全網覆蓋和本地覆蓋的全場景落地,全網覆蓋的應用場景如 CDN、音視頻直播、物聯網、物流、工業大腦、城市大腦等;本地覆蓋的應用場景和案例如阿里云 LinkEdge、優酷、盒馬、AIBox、銀泰商城等。
大事記
2020 年 5 月 OpenYurt 正式對外開源,發布 v0.1.0 版本,成為業界首個開源的非侵入式邊緣計算云原生平臺。
2020 年 8 月,開源云邊隧道功能并發布 v0.2.0 版本
2020 年 9 月,開源 3 個月后經過社區一起努力 OpenYurt 正式成為 CNCF 沙箱級別項目,標志著 OpenYurt 在邊緣計算場景中構建云原生基礎設施的能力受到了行業的廣泛認可
2020 年 12 月,社區活躍度繼續攀升,經 intel,諧云科技等外部同學一起合作努力,開源邊緣單元化功能,并發布 v0.3.0 版本
相關介紹

OpenYurt 的主要組件包括:
- YurtHub:Kubernetes 集群中節點上運行的守護程序,它的作用是作為(Kubelet,Kubeproxy,CNI 插件等)的出站流量的代理。它在邊緣節點的本地存儲中緩存 Kubernetes 節點守護進程可能訪問的所有資源的狀態。如果邊緣節點離線,則這些守護程序可以幫助節點在重新啟動后恢復狀態。
- YurtController Manager:在各種不同的邊緣計算用例中 Yurt Controller Manager 負責管理一個節點控制器( NodeController )。舉例來說即使節點心跳丟失,處于自治模式的節點中的 Pod 也不會從 API Server 中被驅逐( evicted )。
- YurtApp Manager:它管理 OpenYurt 中引入的兩個 CRD 資源。NodePool 和 UnitedDeployment. 前者為位于同一區域的節點池提供了便利的管理方法。后者定義了一種新的邊緣應用模型以節點池為單位來管理工作負載。
- YurtTunnel (server/agent):TunnelServer 通過反向代理與在每個邊緣節點中運行的 TunnelAgent 守護進程建立連接并以此在公共云的控制平面與 處于 企業內網(Intranet)環境的邊緣節點之間建立安全的網絡訪問。
作為首個對原生 Kubernetes 完整生態全部兼容的智能開放平臺,OpenYurt 將以更靈活和可擴展的體系結構方向發展,不斷增強開源開發者友好體驗。OpenYurt 還將基于行業場景與 5G、AI、大數據、區塊鏈等新興技術結合,驅動企業業務加速創新。未來 OpenYurt 將與社區并肩、與生態同行,致力于推進云原生技術在邊緣計算領域的生態建設與普及,與全球開發者一起拓展云原生的邊界。
官網:https://openyurt.io
Github:https://github.com/alibaba/openyurt
9.SuperEdge
項目介紹
2020 年 12 月 19 日,SuperEdge 項目由騰訊、Intel、VMware、虎牙直播、寒武紀、首都在線和美團聯合宣布開源,在 github 上發布首個版本。

SuperEdge 是 Kubernetes 原生的邊緣容器方案,它將 Kubernetes 強大的容器管理能力擴展到邊緣計算場景中,針對邊緣計算場景中常見的技術挑戰提供了解決方案,如:單集群節點跨地域、云邊網絡不可靠、邊緣節點位于 NAT 網絡等。這些能力可以讓應用很容易地部署到邊緣計算節點上,并且可靠地運行。
相關介紹
SuperEdge 支持所有 Kubernetes 資源類型、API 接口、使用方式、運維工具,無額外的學習成本。也兼容其他云原生項目,如:Promethues,使用者可以結合其他所需的云原生項目一起使用。
SuperEdge 擁有如下特性:
- Kubernetes 原生:SuperEdge 基于 Kubernetes 強大的容器編排、調度能力加強構建,其易于集成的特性使開發者無需對 Kubernetes 進行復雜的結構性修改即可輕松部署,SuperEdge 還能完全兼容 Kubernetes 的所有原生 API 及其他資源。
- 邊緣自治:SuperEdge 能夠實現節點級邊緣自治,當邊緣節點處于離線狀態或者與云端網絡連接不穩定時,邊緣節點和網絡依然可以自主運行和工作,這能夠有效化解網絡不可靠所帶來的不利影響。
- 分布式節點健康監測:SuperEdge 是業內首個將健康監測帶到邊緣側的開源容器管理系統,這意味著 SuperEdge 能夠在邊緣側持續守護進程,并收集節點的故障信息,實現更加快速和精準的問題發現與報告。此外,其分布式的設計還可以實現多區域、多范圍的監測和管理。
- 內置服務網格框架:SuperEdge 能夠自動部署多區域的微服務,方便管理在服務器上運行的數量龐大的微服務,從而減少管理和編程成本。同時,網格內閉環服務可以有效減少運行負載,提高系統的容錯能力和可用性。
- 內網穿透:SuperEdge 能夠保證 Kubernetes 節點在有無公共網絡的情況下都可以連續運行和維護,并且同時支持傳輸控制協議(TCP)、超文本傳輸協議(HTTP)和超文本傳輸安全協議(HTTPS)。
Github:https://github.com/superedge/superedge
10.Azure IoT Edge
項目介紹
Azure IoT Edge 是基于物聯網 (IoT) 中心構建的 IoT 服務。此服務供想要在設備上 (也稱為“在邊緣上”)而不是在云中分析數據的客戶使用。通過將部分工作負荷移至邊緣,設備將消息發送到云所花費的時間可以更少,并且設備可以對狀態更改更快地做出響應。
Azure IoT Edge 主要將基于云的分析和定制的業務邏輯轉移到邊緣設備,使企業能夠專注于洞察商業機會而非數據管理。微軟表示,這些設備現在將能夠立即采取實時數據行動。借助開源的 Azure IoT Edge,開發人員可以更靈活地控制自己的邊緣解決方案,以及運行時或調試問題。
相關介紹
為了解決 Azure IoT Edge 大規模部署的安全問題,Azure IoT Edge 深入集成了設備調配服務,以安全地配置數以萬計的設備和 Azure IoT Edge 安全管理員,這些管理員可以用來保護邊緣設備及其組件。自動設備管理(ADM)可以基于設備元數據將大型物聯網邊緣模塊部署到設備。
Azure IoT Edge 支持 C#,C,Node.js,Python 和 Java 等編程語言。它還提供 VSCode 模塊開發,測試和部署工具,以及帶 VSTS 的 CI/CD 管道。部署 Azure IoT Edge 有三個必要組件,即 Azure IoT Edge Runtime,Azure IoT Hub 和 Edge 模塊。Azure IoT Edge Runtime 是免費且開源的,但客戶必須使用付費的 Azure IoT Hub 實例進行擴展。邊緣設備的管理和部署也將基于 Azure 服務或客戶使用的 Edge 模塊。
Github:https://github.com/Azure/iotedge