KubeEdge v0.2發佈,全球首個K8S原生的邊緣計算平臺開放雲端代碼

從v0.1到v0.2git

小數點後的一小步github

是邊緣計算領域裏程碑式的一大步安全

KubeEdge發佈v0.2版本架構

全球首個基於K8Sapp

提供雲邊協同能力的開源邊緣計算架構框架

正式補齊最後一塊拼圖less

將毫無保留地提供優化

雲原生的端到端邊緣計算解決方案雲計算

項目地址:spa

kubeedge/kubeedge

KubeEdge開源背景

KubeEdge在18年11月24日的上海KubeCon上宣佈開源,技術圈曾掀起一陣討論邊緣計算的風潮,今後翻開了邊緣計算和雲計算聯動的新篇章。

KubeEdge即Kube+Edge,顧名思義就是依託K8S的容器編排和調度能力,實現雲邊協同、計算下沉、海量設備的平滑接入。KubeEdge架構上包含兩部分,分別是雲端和邊緣側。雲端負責應用和配置的下發,邊緣側則負責運行邊緣應用和管理接入設備。

此前,關於用K8S在邊緣側部署應用還一直停留在實驗階段,KubeEdge脫胎於華爲雲IEF服務,是第一個具有在生產環境部署能力的邊緣計算領域開源項目。前幾天K8S IOT/Edge工做組發佈了關於邊緣計算的白皮書,並將KubeEdge做爲K8S在IOT/Edge場景下的參考架構。

KubeEdge開源後國內外也出現了一些開源的邊緣計算平臺和基金會。可是當你仔細研究這些項目時會發現,LF Edge糅合了5個項目有點像是大雜燴,OpenEdge強綁定廠商中立性有待商榷,而k3s爲了在邊緣部署完整集羣而魔改了K8S,他們彷佛都稱不上完整的從雲到邊緣再到設備的開源解決方案。TheNewStack在撰文對比過這些開源的邊緣計算項目時如是寫道:

It would appear openEdge is integrated with Baidu’s IoT cloud platform so it is not clear how independent is the technology.

與其餘開源或半開的項目不一樣,不管是社區生態建設、項目運做或是代碼開發,KubeEdge誕生之初就把開放性放在首位。那麼, KubeEdge的開放性到底表如今哪裏呢?此次的重大版本更新將會給整個邊緣計算產業形成什麼深遠的影響呢?

v0.1- ALL in K8S,極致優化

容器自然的輕量化和可移植性,很是適合邊緣計算的場景,這一點邊緣計算的廠家和開發者們都心知肚明。並且鑑於K8S已經成爲雲原生編排的事實標準,所以攜手K8S進入邊緣將頗有可能結束邊緣計算當前混沌的狀態,並定義雲端和邊緣統一的應用部署和管理的標準。

然而,因爲邊緣場景通訊的不穩定性和嚴苛的資源消耗限制,致使原生的K8S組件沒法直接運行在邊緣節點上,例如:工業網關等。而受限於K8S自己list/watch機制帶來的disconnect問題,數據面和管理面斷連後,沒法作到本地自治。

KubeEdge選擇的是「輕邊緣」架構,即邊緣側的容器引擎和設備管理agent儘可能輕量化,管理面運行在雲端,且構建在K8S的調度能力之上,100%兼容K8S原生API。KubeEdge all in K8S的設計理念使得用戶能夠圍繞K8S的標準API定製需求或者輕鬆集成雲原生生態中的成熟項目。

值得一提的是,KubeEdge項目的核心成員均來自於K8S/CNCF社區的maintainer和TOP contributor,他們對K8S的設計和理念和實現機制瞭然於心,天然也清楚K8S在邊緣計算領域須要解決的問題。爲了使KubeEdge能夠運行在幾乎全部的邊緣場景(例如:工業製造、智慧園區、智能駕駛等),權衡K8S的資源佔用和原生能力支持,KubeEdge選擇在對接K8S API的基礎上,所有重寫邊緣部分實現。當前,KubeEdge邊緣組件的磁盤佔用約爲60MB,運行時內存佔用小於30MB。

KubeEdge開源的v0.1版本包含:edged,edgehub,eventbus,devicetwin和metamanager這五個邊緣側的組件,架構以下圖所示:

其中:

  • edged是從新開發的輕量化Kubelet,實現Pod,Volume,Node等K8S資源對象的生命週期管理;

  • metamanager負責本地元數據的持久化,是邊緣節點自治能力的關鍵;

  • edgehub提供可靠的雲邊信息同步,解決了K8S list/watch帶來的disconnect問題;

  • devicetwin用於同步信息到雲端;

  • eventbus訂閱來自於MQTT Broker的設備數據;

不難發現,v0.1版本的KubeEdge最大的意義在於填平了K8S與邊緣計算的鴻溝。它提供的無縫銜接K8S生態、數據本地化處理、邊緣節點離線自治、簡化應用在邊緣側部署、多場景支持等功能,爲雲原生的邊緣計算架構提供了範例。

v0.2 - 生態建設的里程碑

若是說KubeEdge的 v0.1 版本只是拋磚引玉,那麼 v0.2 版本將是發力生態建設的一個重要里程碑。因爲其開放的設計,KubeEdge一經開源便引發了衆多社區開發者和廠商的關注。

儘管v0.1版本能夠經過與華爲雲IEF服務嚐鮮雲邊協同的能力,但爲了讓海外更多的用戶可以完總體驗KubeEdge以及進一步消除用戶對廠商綁定的顧慮,KubeEdge團隊決定提早開放雲端代碼,即在最新的v0.2版本中發佈。從KubeEdge v0.1到v0.2,雖然只是小數點後的一小步,倒是邊緣計算髮展的一個里程碑。KubeEdge v0.1和v0.2的發佈分別創造了兩個記錄:

  1. 全球首個開源的支持容器部署的邊緣計算平臺;

  2. 全球首個開放雲邊協同能力的邊緣計算平臺;

KubeEdge v0.2 的發佈意味着任何人均可以在本身的環境中部署一個完整的涵蓋雲、邊、設備的邊緣計算解決方案。本次更新在 v0.1 的基礎上新增了雲上兩個重要組件,分別是:CloudHub和EdgeController,架構以下所示:

其中:

  • Cloudhub負責接收EdgeHub同步到雲端的信息;

  • EdgeController用於控制K8S API Server與邊緣的節點、應用和配置的狀態同步;

用戶能夠直接經過kubectl命令行在雲端管理邊緣節點、設備和應用,使用習慣與K8S原生的徹底一致,無需從新適應。

 

Roadmap

在賦予了KubeEdge徹底開放的雲邊協同能力後,接下來咱們將與雲原生社區和邊緣計算生態玩家一道,從如下幾個方面逐步完善 KubeEdge 項目,共建自主可控的邊緣計算開源社區!

  • 經過CRD描述設備的編排信息,並實現相應的控制器;

  • 對外暴露邊緣服務;

  • 支持邊緣節點之間的直接通訊;

  • 加強邊緣節點的安全;

  • 優化雲邊消息通道的效率;

  • 提供通用的邊緣數據管理/分析框架;

  • 支持邊緣serverless;

  • 提供多設備協議接入的框架;

  • ……

相關文章
相關標籤/搜索