日前,由中國資訊通訊研究院主辦的雲計算開源產業峰會在京召開。由華為雲開源的智慧型邊緣專案kubeedge在會上榮獲尖峰開源技術創新獎,華為雲智慧型邊緣雲首席架構師張琦出席領獎並發表了《kubeedge:雲原生的邊緣計算平台》的主題演講。
早在今年 3 月,cncf**會及技術委員會全體一致同意開源智慧型邊緣專案kubeedge加入cncf社群,成為cncf在智慧型邊緣領域的首個正式專案。kubeedge旨在推進雲原生技術在智慧型邊緣領域的生態建設與普及,與全球廣大雲原生社群夥伴一起共同推動智慧型邊緣及雲原生產業的發展。
雲原生與邊緣計算的完美結合
經過我們調研發現,傳統的嵌入式裝置開發面臨著諸多挑戰,嚴重制約著邊緣裝置上雲以及大規模裝置在雲化場景下開發效率。
(1) 邊雲生態的割裂,物理裝置訪問難度高,與it技術割裂,開發難度高產品上市周期長
(2) 日趨複雜的邊緣業務的部署,對高度分布和大規模可擴充套件性缺乏考慮
(3) 缺少和雲的協同以及邊緣和邊緣的協同,構建分布式系統難度高
(4) ot和it世界技術割裂,協同門檻高
那麼,雲原生和邊緣計算相遇,會擦出什麼樣激烈的「火花」?現在大多數的邊緣裝置都與雲端配合使用,比如工程師們可以在雲端訓練機器學習模型,訓練好之後將推理模型應用於邊緣節點。無論從邊緣應用的分發,邊緣應用的可靠性還是邊雲協同的機制上,雲原生邊緣計算有利於讓邊緣也具備像雲一樣的「彈性」,讓應用可以「順滑」的部署到邊緣,保持應用在邊緣與雲端的一致性。
kubeedge通過更優的架構和技術實現,能完美應對當前遇到的挑戰,幫助工程師從底層技術設施的管理中解放出來,將注意力集中到更高抽象層次的應用開發之中。這樣,「雲-邊-端」就像是乙個完美的整體,終端使用者無需感知邊緣裝置的複雜分布。
通過將ai能力、大資料能力等延伸到邊緣,解決與雲上服務的資料協同、任務協同、管理協同、安全協同訴求
通過資料本地化處理、邊緣節點離線自治,解決了雲和邊緣之間的網路可靠性和頻寬限制的問題
通過大幅優化邊緣元件的資源占用(二進位制大小約46mb,執行時記憶體占用www.cppcns.com約10mb),解決了邊緣資源的約束問題
通過在雲邊之間構建的雙向多路復用網路通道,解決了從雲端管理高度分布的海量節點和裝置難的問題
南向支援對接物聯網主流的通訊協議(mqtt,bluetooth,zigbee,bacnet等),解決了異構硬體接入難的問題
綜合起來看,傳統的嵌入式本地計算和雲原生邊緣計算的差異可以歸納如下:
kubeedge架構
kubeedge即kube+edge,顧名思義就是依託k8s的容器編排和排程能力,實現雲邊協同、計算下沉、海量裝置的平滑接入。kubeedge架構上包含兩部分,分別是雲端和邊緣側。雲端負責應用和配置的下發,邊緣側則負責執行邊緣應用和管理接入裝置。
edged:管理邊緣的容器化應用程式。
edgehub:邊緣的通訊介面模組。這是乙個 web 套接字客戶端,負責邊緣計算與雲服務的互動。
cloudhub:雲端通訊介面模組。乙個 web 套接字伺服器,負責監視雲端的更改、快取以及向 edgehub 傳送訊息。
edgecontroller:管理邊緣節點。它是乙個擴充套件的 kubernetes 控制器,管理邊緣節點和 pod 元資料,以便資料可以面向特定的邊緣節點。
eventbus:使用 mqtt 處理內部邊緣通訊。它是乙個 mqtt 客戶機,可以與 mqtt 伺服器(mosquitto)互動,為其他元件提供發布和訂閱功能。
devicetwin:它是處理裝置元資料的裝置軟體映象。該模組有助於處理裝置狀態並將其同步到雲上。它還為應用程式提供查詢介面,因為它連線到乙個輕量級資料庫(sqlite)。
metamanager:它管理邊緣節點上的元資料。這是 edged 和 edgehub 之間的訊息處理器。它還負責在輕量級資料庫(sqlite)中儲存 / 檢索元資料。
極致優化
容器天然的輕量化和可移植性,非常適合邊緣計算的場景,鑑於k8s已經成為雲原生編排的事實標準,因此攜手k8s進入邊緣將很有可能結束邊緣計算當前混沌的狀態,並定義雲端和邊緣統一的應用部署和管理的標準。
然而,由於邊緣場景通訊的不穩定性和嚴苛的資源消耗限制,導致原生的k8s元件無法直接執行在邊緣節點上,例如:工業閘道器等。而受限於k8s本身list/watch機制帶來的disconnect問題,資料面和管理面斷連後,無法做到本地自治。
kubeedge選擇的是「輕邊緣」架構,即邊緣側的容器引擎和裝置管理agent盡量輕量化,管理面執行在雲端,且構建在k8s的排程能力之上,100%相容k8s原生api。kubeedge all in k8s的設計理念使得使用者可以圍繞k8s的標準api定製需求或者輕鬆整合雲原生生態中的成熟專案。
從servicemesh到edgemesh
在過去的一年中,服務網格(service mesh)已經演變成為雲原生堆疊的重要組成部分。像 paypal,lyft,ticketmaster 和 creditkarma 這樣的高流量公司都已經為其生產應用新增了 servicemesh。servicemesh與雲原生應用的興起有關。在雲原生模型中,單個應用程式可能包含數百個服務,每個服務可能有數千個例項,並且這些例項中的每乙個都可能處於不斷變化的狀態,合理管理使用 servicemesh,對於確保端到端的效能和可靠性至關重要。
隨著信通院《雲計算與邊緣計算協同九大應用場景( 2019 年)》的發布,「雲邊協同是邊緣計算發展的重要驅動力和不可分割的需求」已經逐漸成為業界共識。當純粹的計算在邊緣轉向雲邊協同,如何以雲原生的方式構建乙個跨越了邊緣和雲端的分布式系統就成為了乙個至關重要的問題:
(1)邊緣應用需要有完善的微服務治理能力,以滿足日趨複雜的邊緣業務模型;
(2)邊雲、邊邊的協同成為邊緣應用的基本要求,以滿足海量邊緣資料的處理。
使用edgemesh可以支援跨越邊界的微服務訪問,edgemesh特性基於標準的istio進行服務治理控制,引入edgemesh-pwww.cppcns.comroxy負責邊緣側流量**以及p2p技術跨子網通訊,提供雲-邊、邊-邊通訊,最終實現跨越邊雲的一致的服務發現和訪問體驗。
a)邊邊協同
b) 邊雲協同
邊緣裝置管理:裝置訪問微服務化
kubernetes提供的裝置外掛程式(device plugin)框架, 旨在通過kubelet管理「繫結」在節點上的硬體(加速器),例如:gpu、fpgas、infiniband等,為pod中的容器應用提供更強的計算和網路效能。
而kubeedge的裝置管理關注的是與邊緣通訊的外部裝置,例如:藍芽終端、智慧型感測器、工業裝置等。kubeedge對裝置管理的實現採用的是kubernetes官方推薦的operator方式,並實現了裝置孿生(device twin)。裝置管理operator的核心是device crd和device controller,其中device crd用來描述裝置的狀態等元資料,device controller執行在雲上,負責在雲和邊之程式設計客棧間同步裝置狀態的更新(包括裝置實際狀態和使用者設定的期望狀態)。
kubeedge裝置管理的工作流程如下圖所示:
device controller會把使用者設定的裝置孿生期望狀態和配置下發到邊緣,而在邊緣的元件則要接收並處理這些資訊。為了避免edge_core引入量處理邊緣裝置通訊的**,同時保持整個專案良好的易定製性,kubeedge設計了乙個邊緣裝置驅動統一管理引擎mapper。
mapper之於kubeedge的作用如同cri之於kubernetes,只是cri作為kubernetes定義的容器介面與底層容器引擎打交道,而mapper作為乙個開放介面方便不同的裝置協議接入kubeedge這個邊緣計算平台。
kubeedge v1. 0 中內建支援的裝置協議是藍芽,後續版本將逐步增加對opc-ua和modbus的支援。有了mapper的解耦層,使用者可以方便地根據實際需要開發自己的mapper來實現與特定裝置的通訊,同時社群也歡迎廣大開發者貢獻更多的協議實現。
mapper的架構如下圖所示:
歡迎加入kubeedge大家庭
kubeedge橫跨雲原生和智慧型邊緣兩大版圖,擁有非常大的想象力空間,足夠給國內的優秀工程師們提供施展才華的平台。我們希望借助kubeedge開放的架構設計吸收更多全球開發者參與cncf雲原生社群,共同繁榮cncf雲原生和智慧型邊緣生態,協力一起將kubeedge打造為中國在全球cncf雲原生社群以及智慧型邊緣領域生態的名片。
本文標題: 華為雲智慧型邊緣雲首席架構師技術解讀kubeedge
本文位址:
首席架構師警告「公共雲不能修復愚蠢」
企業使用適當的策略為其業務帶來利益時,公共雲是乙個很好的事情。雖然對某些工作負載而言,可以降低成本,但是對於其他工作負載來說,它可能更昂貴,因為沒有周密的戰略方法,它可能會破壞價值而不是創造價值。換句話說,公共雲不能修復愚蠢的決策 這是美國明尼蘇達州雲計算服務提供商datalink公司首席架構師ja...
駐雲科技首席架構師肖凱 要融合雲,不要混合雲
混合雲是當前企業雲化的主流思路,但反對者認為,混合雲並不能反映中國雲計算市場的實際需求。駐雲科技coo兼首席架構師肖凱表示,目前多個公有雲混合的需求並不明顯,企業關注的其實是公有雲和內部部署it整合的 融合雲 肖凱日前接受了記者的採訪,給出了他對企業業務遷移到雲服務的建議,並介紹了駐雲科技相關產品和...
靈雀雲首席架構師 Docker容器的監控技術
前言 在docker容器技術飛速發展之時,監控容器的效率與健康也變成了至關重要的需求。在docker資深提供的監控技術逐漸成熟時,來自第三方的監控工具也同時步入了人們的視線。本文將為大家介紹docker容器的監控技術,並討論時下在容器生態圈最受歡迎的監控工具。同時,來自美國的saurabh也將分享容...