陳衛 鄭煒 湯毅


摘 要: 云計算協同邊緣計算成為發展的重要趨勢,而目前云邊協同或稱為云邊一體的技術架構尚處于發展的初期階段。由于云計算和邊緣計算面對的計算資源和存儲資源不同,其對于算法的速度、內存占用和能效的要求存在不同的要求,現有的一些工具不能同時滿足云計算和邊緣計算的要求,無法體現出云邊一體的協同效應。在華為提供的開源計算平臺KubeEdge最新的v0.2版本中,引入了云組件用于連接并形成回路,通過一致且可伸縮的基于Kubernetes的接口,KubeEdge支持邊緣集群的編排和管理。這為快速高效地將云計算能力推向邊緣提供了可能。
關鍵詞: 云計算; 邊緣計算; 云邊協同; KubeEdge
中圖分類號: TP311文獻標志碼: A
Exploration of the Integrated Cloud-Edge Synergy Architecture Based on KubeEdge
CHEN Wei, ZHENG Wei, TANG Yi
(BestTV Network Technology Development Co. Ltd., Shanghai 200032)
Abstract: The coordinated development of cloud computing and edge computing has become an important trend in the future. However, the current technology architecture based on cloud-edge synergy is still in the early stage of development. Because cloud computing and edge computing apply different computing resources and storage resources, they have different requirements for algorithm speed, memory usage and energy efficiency. Some existing tools cannot meet the different requirements of cloud computing and edge computing at the same time. KubeEdge, an open source computing platform donated by Huawei, introduced cloud components for connecting and forming loops in the latest v0.2 release. KubeEdge supports the orchestration and management of edge clusters through a consistent and scalable Kubernetes-based interface. This makes it possible to develop cloud computing into the edge computing quickly and efficiently.
Key words: cloud computing; edge computing; cloud-edge synergy; KubeEdge
0 引言
云計算[1]概念的提出和應用已經極大影響了信息技術的發展,計算、存儲、網絡資源的銷售方式改變使具有創新能力的開發人員不再需要在硬件的采購和部署上投入大量資金和人力成本。隨著平臺即服務、軟件即服務的發展,開發人員可以獲得更高的開發效率和更低的成本。然而,隨著物聯網技術的發展,集中式的云計算架構無法把資源利用、數據融合、應用兼容、統一運維等物聯網問題全部解決,給網絡帶寬、計算能力、存儲容量帶來巨大壓力。[2]
目前,以邊緣計算模型為核心的,面向網絡邊緣設備所產生海量數據計算的邊緣式大數據處理應運而生,其與現有以云計算模型為核心的集中式大數據處理相結合,即二者相輔相成,應用于云中心和網絡邊緣端的大數據處理,較好地解決了萬物互聯時代大數據處理中所存在的問題[3] 。根據思科全球云指數的預估,到2021年,存儲在數據中心內的數據將增長至1.3ZB;存在設備中的數據將是數據中心的4.5倍,總量達到5.9ZB。受物聯網的驅動,2021年全球設備產生的數據總量將達到每年847ZB。[4]邊緣計算模型的優點就凸顯出來:(1)在網絡邊緣處理大量臨時數據,不再全部上傳云端,這極大地減輕了網絡帶寬和數據中心功耗的壓力;(2)在靠近數據生產者處做數據處理,不需要通過網絡請求云計算中心的響應,大大減少了系統延遲,增強了服務響應能力;(3)邊緣計算將用戶隱私數據不再上傳,而是存儲在網絡邊緣設備上,減少了網絡數據泄露的風險,保護了用戶數據安全和隱私[5]。
在更多的場景下,云計算與邊緣計算形成一種互補、協同的關系,邊緣計算需要與云計算緊密協同才能更好地滿足各種應用場景的需求。邊緣計算主要負責那些實時、短周期數據的處理任務以及本地業務的實時處理與執行,為云端提供高價值的數據;云計算負責邊緣節點難以勝任的計算任務,同時,通過大數據分析,負責非實時、長周期數據的處理,優化輸出的業務規則或模型,并下放到邊緣側,使邊緣計算更加滿足本地的需求,完成應用的全生命周期管理[6]。本文將探索基于KubeEdge的云邊協同架構,以滿足實際需要,具體安排如下,第二節簡要介紹KubeEdge;第三節實現一種移動邊緣計算場景下的協同技術架構;第四節對該技術進行展望,并給出結論。
2 KubeEdge技術分析
邊緣計算正在面臨容器化演進的挑戰,尤其是在垂直行業領域。容器是一種操作系統級別的虛擬化技術,通過操作系統隔離技術,如Linux下的CGroup和NameSpace,將不同的進程隔離開。容器技術不同于硬件虛擬化(Hypervisor)技術,并沒有虛擬硬件,容器內部也沒有操作系統,只有進程,這些特點使得容器比虛擬機更輕量,管理也更方便。
Kubernetes是Google 公司領導開發的開源容器編排引擎,目前已經成為容器編排領域的事實標準,可用于容器集群的自動化部署、擴容以及運維。通過Kubernetes,可以快速而有預期地部署應用、擴展應用。然而Kubernetes是為云數據中心設計的,要想在邊緣使用Kubernetes的能力,需要解決以下問題[7] :(1)ARM的低功耗和多核的特點使其在IoT/Edge領域的應用廣泛,然而大部分的Kubernetes發行版并不支持ARM架構;(2)很多設備邊緣的資源規格有限,特別是CPU處理能力較弱,因此無法部署完整的Kubernetes;(3)Kubernetes依賴list/watch機制,不支持離線運行,而邊緣節點的離線又是常態,例如設備休眠重啟;(4)Kubernetes的運維相對于邊緣場景用到的功能子集過于復雜;(5)需要特殊的網絡協議和拓撲要求,設備接入協議往往非TCP/IP協議,例如,工業物聯網采用Modbus和OPC UA,消費物聯網采用Bluetooth和ZigBee等。
KubeEdge于2018年11月向公眾發布,是首個基于Kubernetes擴展來提供云邊協同能力的開放式邊緣計算平臺,其 0.1版本支持以下功能:(1)在邊緣節點上運行的輕量級應用程序引擎,用于管理用戶的應用程序并監視節點的運行狀況;(2)支持kubernetes API原語,如node、pod、configmap、secrets等;(3)物聯網設備與邊緣節點對話的設備孿生和MQTT協議;(4)通過HTTP RESTful接口實現本地自治;與華為云IEF服務集成,用于節點、設備和應用程序狀態更新;(5)邊緣節點在離線和恢復后重新連接到云時的自治。
2019年3月發布0.2版本,增加以下功能:(1)增加邊緣控制器,連接到Kubernetes api服務器,并在邊緣和Kubernetes api服務器之間同步node/pod狀態;(2)增加CloudHub模塊,是KubeEdge的云部分中的WebSocket服務器;(2)內部MQTT模式,在該模式中,MQTT代理以edge_core啟動,并刪除對外部MQTT代理的依賴;(3)邊緣的集成測試框架,改進了邊緣單元測試覆蓋率。KubeEdge的具體架構[8]如圖1所示。
KubeEdge架構上清晰地分為三層,分別是:云端、邊緣和設備層,其邊緣進程包含以下5個組件:
(1) Edged:管理邊緣的容器化應用程序,實現Pod,Volume,Node等Kubernetes資源對象的生命周期管理。
(2) MetaManager:它管理邊緣節點上的元數據。這是Edged和Edgehub之間的消息處理器。它還負責在輕量級數據庫中存儲/檢索元數據。
(3) EdgeHub:邊緣的通信接口模塊。這是一個Web套接字客戶端,負責邊緣計算與云服務的交互。
(4) DeviceTwin:它是處理設備元數據的設備軟件鏡像。該模塊有助于處理設備狀態并將其同步到云上。
(5) EventBus:使用MQTT處理內部邊緣通信。它是一個MQTT客戶機,可以與MQTT服務器交互,為其他組件提供發布和訂閱功能。
KubeEdge的云端進程包含以下2個組件:
(1) CloudHub:云端通訊接口模塊。一個Web套接字服務器,負責監視云端的更改、緩存以及向EdgeHub發送消息。
(2) EdgeController:管理邊緣節點。它是一個擴展的Kubernetes控制器,管理邊緣節點和pod元數據,以便數據可以面向特定的邊緣節點。
Kubernetes maser運行在云端,用戶可以直接通過kubectl命令行在云端管理邊緣節點、設備和應用,使用習慣與Kubernetes原生的完全一致。通過上述分析可見,KubeEdge在云邊協同運算部署上已經具備明顯的優勢:
(1) 邊緣計算:在邊緣運行業務邏輯的情況下,可以在生成數據的地方本地保護和處理更大的數據量。這減少了邊緣和云之間的網絡帶寬需求和消耗。這提高了響應能力,降低了成本,并保護了客戶的數據隱私。
(2) 簡化開發:開發人員可以編寫常規的基于HTTP或MQTT的應用程序,將這些應用程序裝入容器,并在任何合適的地方(無論是邊緣還是云中)運行它們。
(3) Kubernetes本地支持:通過KubeEdge,用戶可以在邊緣節點上協調應用程序、管理設備并監視應用程序和設備狀態,就像云中的Kubernetes集群一樣。
(4) 豐富的應用:將現有的復雜機器學習、圖像識別、事件處理等高級應用程序輕松部署到邊緣。
3 在移動邊緣計算場景下的技術架構
上一節介紹了KubeEdge的基本技術框架,可以看到未來其具有廣闊的應用空間。當前的移動核心網絡或者廣域網受時延、抖動、擁塞等問題的制約,移動云計算不能夠滿足時延敏感任務的網絡要求。為了去除核心網的劣勢帶來的影響,歐洲電信標準協會(ETSI)提出將計算資源、存儲資源轉移到距離移動用戶最近的移動網絡邊緣的方式,也就是將移動邊緣計算定義為在移動網絡的邊緣向應用程序開發人員和內容提供商提供云計算服務和低時延、高帶寬、邊緣網絡信息開放的服務環境[9]。
2017 年,ETSI將之升級為Multi-access Edge Computing以滿足5G、Wi-Fi、固網多接入的需求,在其白皮書中[10]提出一種5G網絡部署MEC的方案,具體如圖2所示。
圖中的虛擬化架構完全可以用KubeEdge技術替代,相比于諸虛擬化技術,具有如下優勢:啟動和卸載速度快,容器的啟動和卸載速度比虛擬機快得多;鏡像小,容器鏡像在磁盤上占用的空間比虛擬機鏡像要小很多;自包含,容器鏡像包含業務實現邏輯以及運行依賴,使容器在跨平臺遷移過程中,具有更好的一致性;資源利用動態變化,容器的資源利用是動態變化的;部署密度大,容器的部署密度要比虛擬機大很多。通過仿真實驗驗證,KubeEdge平臺占用內存50M左右,CPU(單核)2%~10%。由此可見,使用KubeEdge平臺能大大減少MEC場景下的資源消耗。
4 總結
移動邊緣計算提供了一個新的生態系統和價值鏈。運營商可以向第三方開放無線接入網絡邊緣,允許他們靈活快速地向移動用戶、企業和垂直細分市場部署創新的應用程序和服務。KubeEdge開源后,依托社區協作和生態系統的構建,將成為云邊協同領域的重要平臺。在未來,KubeEdge將會進一步滿足以下功能:基于Istio的服務使微服務可以在網格中自由通信;提高Kubedge基礎設施的性能和可靠性;在邊緣啟用函數即服務的功能;邊緣節點支持更多類型的設備協議,如AMQP、藍牙、ZigBee等;評估并啟用具有數千個邊緣節點和數百萬個設備的更大規模邊緣集群;允許將應用程序智能調度到大型邊緣群集;數據管理/分析框架。
參考文獻
[1] Armbrust M,Fox A,Griffith R,et al. A view of cloud computing[J].Communications of the ACM,2010,53(4):50-58.
[2] 蒲世亮, 袁婷婷. 基于云邊融合的物聯網智能服務架構探討[J]. 智能物聯技術, 2018, 1(1):7-12.
[3] 施巍松, 孫輝, 曹杰, 等. 邊緣計算:萬物互聯時代新型計算模型[J]. 計算機研究與發展, 2017(5):907-924.
[4] Networking C V. Cisco Global Cloud Index: Forecast and Methodology, 2016—2021 White Paper[EB/OL]. 2019.3 https://www.cisco.com/c/en/us/solutions/collateral/service-provider/global-cloud-index-gci/white-paper-c11-738085.html
[5] 施巍松, 張星洲, 王一帆, 等. 邊緣計算:現狀與展望[J]. 計算機研究與發展, 2019, 56(1):73-93.
[6] 徐恩慶,董恩然. 云計算與邊緣計算協同發展的探索與實踐[J].通信世界,2019,801(9):46-47.
[7] Edge Captain. Kubernetes在邊緣計算場景的探索[J].架構師,2019(5):36-49.
[8] Networking CV. KubeEdges documentation. 2019.3 https://docs.kubeedge.io/en/latest/.
[9] Simsek M, Aijaz A, Dohler M, et al. The 5G-Enabled Tactile Internet: Applications, requirements, and architecture[C]// IEEE Wireless Communications & Networking Conference. IEEE, 2016. Doha, Qatar(2016.4.3-2016.4.6)
[10] ETSI.etsi_wp28_mec_in_5G_FINAL.pdf.Integrated MEC deployment in 5G network[EB/OL].(2018-06). https://www.etsi.org/images/files/ETSIWhite Papers/ etsi_wp28_mec_in_5G_FINAL.pdf
(收稿日期: 2019.07.10)
作者簡介:陳衛(1978-),男,碩士,工程師,研究方向:IPTV/互動電視新媒體領域技術研發與應用工作,在音視頻技術應用、互動電視前端建設、融合業務運營等領域有較深入研究。
鄭煒(1983-),男,碩士,工程師,研究方向:IPTV/互動電視新媒體領域技術架構工作,在云計算與移動互聯網軟件,音視頻編解碼、通信技術等方面有深入研究。
湯毅(1965-),男,碩士,高級工程師,研究方向:流分析、數字電影等新媒體領域技術研發與應用工作,在數字版權保護、大數據分析、信道編碼等方面有較深入研究。