本文發表於一年多前。舊文章可能包含過時內容。請檢查頁面中的資訊自發布以來是否已變得不正確。

KubeEdge,一個 Kubernetes 原生邊緣計算框架

KubeEdge 成為首個同時開源了邊緣和雲元件的 Kubernetes 原生邊緣計算平臺!

開源邊緣計算正處於其行業發展中最活躍的階段。如此多的開源平臺,如此多的整合以及如此多的標準化倡議!這表明了構建更好平臺的強大動力,以將雲計算引入邊緣,以滿足不斷增長的需求。KubeEdge,去年宣佈的,現在為雲原生計算帶來了好訊息!它提供了一個基於 Kubernetes 的完整邊緣計算解決方案,具有獨立的雲和邊緣核心模組。目前,雲和邊緣模組都已開源。

與一些可用的輕量級 Kubernetes 平臺不同,KubeEdge 旨在構建擴充套件雲的邊緣計算解決方案。儘管具有可擴充套件性,控制平面仍然駐留在雲端。同時,邊緣可以在離線模式下工作。它也輕量級且容器化,並且可以支援邊緣的異構硬體。透過最佳化邊緣資源利用率,KubeEdge 有望為邊緣解決方案節省大量的設定和運營成本。這使其成為目前世界上最引人注目的基於 Kubernetes 的邊緣計算平臺!

Kube(rnetes)Edge!- 為邊緣計算開闢一個基於 Kubernetes 的新生態系統

KubeEdge 的主要目標是將 Kubernetes 生態系統從雲端擴充套件到邊緣。自 2018 年 11 月在上海 KubeCon 大會上向公眾宣佈以來,KubeEdge 的架構方向一直與 Kubernetes 保持一致,正如其名稱所示!

它從 v0.1 版本開始,提供了基本的邊緣計算功能。現在,隨著最新版本 v0.2 的釋出,它引入了雲元件以連線並完成迴圈。憑藉一致且可擴充套件的基於 Kubernetes 的介面,KubeEdge 能夠編排和管理邊緣叢集,就像 Kubernetes 在雲中管理一樣。這為將雲計算能力無縫、快速高效地帶到邊緣開闢了可能性。

KubeEdge 連結

根據其路線圖和架構,KubeEdge 致力於支援所有邊緣節點、應用程式、裝置甚至叢集管理,並與 Kubernetes 介面保持一致。這將有助於邊緣雲像雲集群一樣執行。這可以大大節省基於 KubeEdge 的邊緣雲開發部署的時間和成本。

KubeEdge 提供了一個容器化的邊緣計算平臺,它本身具有可擴充套件性。由於其模組化和最佳化,它輕量級(佔用空間 66MB,執行記憶體約 30MB),可以部署在低資源裝置上。同樣,邊緣節點可以是不同的硬體架構和不同的硬體配置。對於裝置連線,它可以支援多種協議,並使用基於標準 MQTT 的通訊。這有助於高效地擴充套件包含新節點和裝置的邊緣叢集。

你沒聽錯!

KubeEdge 雲核心模組已開源!

透過開源邊緣和雲模組,KubeEdge 帶來了一個完整的雲廠商無關的輕量級異構邊緣計算平臺。它現在已準備好支援為邊緣計算構建完整的 Kubernetes 生態系統,利用大多數現有的雲原生專案或軟體模組。這可以在邊緣實現一個微型雲,以支援資料分析、影片分析、機器學習等高要求用例。

KubeEdge 架構:構建 Kubernetes 原生邊緣計算!

KubeEdge 的核心架構宗旨是構建與 Kubernetes 一致的介面,無論是在雲端還是邊緣端。

Edged:管理邊緣的容器化應用程式。

EdgeHub:邊緣的通訊介面模組。它是一個 WebSocket 客戶端,負責與雲服務進行邊緣計算互動。

CloudHub:雲端的通訊介面模組。它是一個 WebSocket 伺服器,負責監控雲端變化、快取並向 EdgeHub 傳送訊息。

EdgeController:管理邊緣節點。它是一個擴充套件的 Kubernetes 控制器,管理邊緣節點和 Pod 元資料,以便資料可以定向到特定的邊緣節點。

EventBus:使用 MQTT 處理內部邊緣通訊。它是一個 MQTT 客戶端,用於與 MQTT 伺服器(mosquitto)互動,為其他元件提供釋出和訂閱功能。

DeviceTwin:它是裝置的軟體映象,處理裝置元資料。該模組有助於處理裝置狀態並將其同步到雲端。由於它與輕量級資料庫(SQLite)連線,因此也為應用程式提供查詢介面。

MetaManager:它管理邊緣節點的元資料。它是 Edged 和 EdgeHub 之間的訊息處理器。它還負責將元資料儲存/檢索到/從輕量級資料庫(SQLite)。

即使您希望根據架構的完善和改進(例如增強安全性)新增更多的控制平面模組,它也很簡單,因為它在這些模組內部使用一致的註冊和模組化通訊。

KubeEdge 提供可擴充套件的輕量級 Kubernetes 原生邊緣計算平臺,可以在離線模式下工作。

它有助於簡化邊緣應用程式的開發和部署。

與雲廠商無關,可以在任何計算節點上運行雲核心模組。

版本0.1到0.2——改變遊戲規則!

KubeEdge v0.1 於2018年12月底釋出,包含了管理邊緣應用程式以及節點、Pod、配置等 Kubernetes API 原語的基本邊緣功能。在大約2個月後,KubeEdge v0.2 於2019年3月5日釋出。此版本提供了雲核心模組,並實現了端到端的開源邊緣計算解決方案。雲核心模組可以部署到任何雲廠商或本地的任何計算節點。

現在,完整的邊緣解決方案可以非常容易地安裝和測試,甚至可以使用筆記型電腦進行。

隨處執行——簡單輕巧

如前所述,KubeEdge 邊緣和雲核心元件可以輕鬆部署並執行使用者應用程式。邊緣核心的佔用空間為 66MB,執行僅需 30MB 記憶體。同樣,雲核心可以在任何雲節點上執行。(使用者也可以在筆記型電腦上執行來體驗)

安裝簡單,只需幾個步驟即可完成

  1. 安裝 Docker、Kubernetes、MQTT 和 openssl 等先決條件
  2. 克隆並構建 KubeEdge 雲端和邊緣端
  3. 運行雲端
  4. 執行邊緣端

每個步驟的詳細說明可在 KubeEdge/kubeedge 找到

未來:憑藉強大功能和社群協作起飛

KubeEdge 由社群成員開發,他們是 Kubernetes/CNCF 的積極貢獻者,並在邊緣計算領域進行研究。KubeEdge 團隊還積極與 Kubernetes IOT/EDGE 工作組合作。在 KubeEdge 釋出後的幾個月內,它吸引了來自不同組織的成員,包括京東、浙江大學、SEL 實驗室、Eclipse、中國移動、ARM、Intel,共同構建平臺和生態系統。

KubeEdge 為其即將於 2019 年釋出的主要版本制定了明確的路線圖。v1.0 旨在提供完整的邊緣叢集和裝置管理解決方案,並支援標準邊緣到邊緣通訊,而 v2.0 旨在提供服務網格、函式服務、邊緣資料分析等高階功能。此外,對於所有功能,KubeEdge 架構將嘗試利用現有的 CNCF 專案/軟體。

KubeEdge 社群需要各種組織、它們的需求、用例和支援來構建它。請加入我們,共同打造一個 Kubernetes 原生邊緣計算平臺,將雲原生計算正規化擴充套件到邊緣雲。

如何參與?

我們歡迎更多的合作來構建 Kubernetes 原生邊緣計算生態系統。請加入我們!