日前,由中國(guó)信息通信研究院主辦的云計(jì)算開(kāi)源產(chǎn)業(yè)峰會(huì)在京召開(kāi)。由華為云開(kāi)源的智能邊緣項(xiàng)目KubeEdge在會(huì)上榮獲尖峰開(kāi)源技術(shù)創(chuàng)新獎(jiǎng),華為云智能邊緣云首席架構(gòu)師張琦出席領(lǐng)獎(jiǎng)并發(fā)表了《KubeEdge:云原生的邊緣計(jì)算平臺(tái)》的主題演講。
早在今年3月,CNCF基金會(huì)及技術(shù)委員會(huì)全體一致同意開(kāi)源智能邊緣項(xiàng)目KubeEdge加入CNCF社區(qū),成為CNCF在智能邊緣領(lǐng)域的首個(gè)正式項(xiàng)目。KubeEdge旨在推進(jìn)云原生技術(shù)在智能邊緣領(lǐng)域的生態(tài)建設(shè)與普及,與全球廣大云原生社區(qū)伙伴一起共同推動(dòng)智能邊緣及云原生產(chǎn)業(yè)的發(fā)展。
云原生與邊緣計(jì)算的完美結(jié)合
經(jīng)過(guò)我們調(diào)研發(fā)現(xiàn),傳統(tǒng)的嵌入式設(shè)備開(kāi)發(fā)面臨著諸多挑戰(zhàn),嚴(yán)重制約著邊緣設(shè)備上云以及大規(guī)模設(shè)備在云化場(chǎng)景下開(kāi)發(fā)效率。
(1) 邊云生態(tài)的割裂,物理設(shè)備訪問(wèn)難度高,與IT技術(shù)割裂,開(kāi)發(fā)難度高產(chǎn)品上市周期長(zhǎng)
(2) 日趨復(fù)雜的邊緣業(yè)務(wù)的部署,對(duì)高度分布和大規(guī)??蓴U(kuò)展性缺乏考慮
(3) 缺少和云的協(xié)同以及邊緣和邊緣的協(xié)同,構(gòu)建分布式系統(tǒng)難度高
(4) OT和IT世界技術(shù)割裂,協(xié)同門(mén)檻高
那么,云原生和邊緣計(jì)算相遇,會(huì)擦出什么樣激烈的“火花”?現(xiàn)在大多數(shù)的邊緣設(shè)備都與云端配合使用,比如工程師們可以在云端訓(xùn)練機(jī)器學(xué)習(xí)模型,訓(xùn)練好之后將推理模型應(yīng)用于邊緣節(jié)點(diǎn)。無(wú)論從邊緣應(yīng)用的分發(fā),邊緣應(yīng)用的可靠性還是邊云協(xié)同的機(jī)制上,云原生邊緣計(jì)算有利于讓邊緣也具備像云一樣的“彈性”,讓?xiě)?yīng)用可以“順滑”的部署到邊緣,保持應(yīng)用在邊緣與云端的一致性。
KubeEdge通過(guò)更優(yōu)的架構(gòu)和技術(shù)實(shí)現(xiàn),能完美應(yīng)對(duì)當(dāng)前遇到的挑戰(zhàn),幫助工程師從底層技術(shù)設(shè)施的管理中解放出來(lái),將注意力集中到更高抽象層次的應(yīng)用開(kāi)發(fā)之中。這樣,“云-邊-端”就像是一個(gè)完美的整體,最終用戶無(wú)需感知邊緣設(shè)備的復(fù)雜分布。
· 通過(guò)將AI能力、大數(shù)據(jù)能力等延伸到邊緣,解決與云上服務(wù)的數(shù)據(jù)協(xié)同、任務(wù)協(xié)同、管理協(xié)同、安全協(xié)同訴求
· 通過(guò)數(shù)據(jù)本地化處理、邊緣節(jié)點(diǎn)離線自治,解決了云和邊緣之間的網(wǎng)絡(luò)可靠性和帶寬限制的問(wèn)題
· 通過(guò)大幅優(yōu)化邊緣組件的資源占用(二進(jìn)制大小約46MB,運(yùn)行時(shí)內(nèi)存占用約10MB),解決了邊緣資源的約束問(wèn)題
· 通過(guò)在云邊之間構(gòu)建的雙向多路復(fù)用網(wǎng)絡(luò)通道,解決了從云端管理高度分布的海量節(jié)點(diǎn)和設(shè)備難的問(wèn)題
· 南向支持對(duì)接物聯(lián)網(wǎng)主流的通信協(xié)議(MQTT,Bluetooth,Zigbee,BACnet等),解決了異構(gòu)硬件接入難的問(wèn)題
綜合起來(lái)看,傳統(tǒng)的嵌入式本地計(jì)算和云原生邊緣計(jì)算的差異可以歸納如下:
KubeEdge架構(gòu)
KubeEdge即Kube+Edge,顧名思義就是依托K8S的容器編排和調(diào)度能力,實(shí)現(xiàn)云邊協(xié)同、計(jì)算下沉、海量設(shè)備的平滑接入。KubeEdge架構(gòu)上包含兩部分,分別是云端和邊緣側(cè)。云端負(fù)責(zé)應(yīng)用和配置的下發(fā),邊緣側(cè)則負(fù)責(zé)運(yùn)行邊緣應(yīng)用和管理接入設(shè)備。
Edged:管理邊緣的容器化應(yīng)用程序。
EdgeHub:邊緣的通信接口模塊。這是一個(gè) Web 套接字客戶端,負(fù)責(zé)邊緣計(jì)算與云服務(wù)的交互。
CloudHub:云端通訊接口模塊。一個(gè) Web 套接字服務(wù)器,負(fù)責(zé)監(jiān)視云端的更改、緩存以及向 EdgeHub 發(fā)送消息。
EdgeController:管理邊緣節(jié)點(diǎn)。它是一個(gè)擴(kuò)展的 Kubernetes 控制器,管理邊緣節(jié)點(diǎn)和 pod 元數(shù)據(jù),以便數(shù)據(jù)可以面向特定的邊緣節(jié)點(diǎn)。
EventBus:使用 MQTT 處理內(nèi)部邊緣通信。它是一個(gè) MQTT 客戶機(jī),可以與 MQTT 服務(wù)器(mosquitto)交互,為其他組件提供發(fā)布和訂閱功能。
DeviceTwin:它是處理設(shè)備元數(shù)據(jù)的設(shè)備軟件鏡像。該模塊有助于處理設(shè)備狀態(tài)并將其同步到云上。它還為應(yīng)用程序提供查詢接口,因?yàn)樗B接到一個(gè)輕量級(jí)數(shù)據(jù)庫(kù)(SQLite)。
MetaManager:它管理邊緣節(jié)點(diǎn)上的元數(shù)據(jù)。這是 Edged 和 Edgehub 之間的消息處理器。它還負(fù)責(zé)在輕量級(jí)數(shù)據(jù)庫(kù)(SQLite)中存儲(chǔ) / 檢索元數(shù)據(jù)。
極致優(yōu)化
容器天然的輕量化和可移植性,非常適合邊緣計(jì)算的場(chǎng)景,鑒于K8S已經(jīng)成為云原生編排的事實(shí)標(biāo)準(zhǔn),因此攜手K8S進(jìn)入邊緣將很有可能結(jié)束邊緣計(jì)算當(dāng)前混沌的狀態(tài),并定義云端和邊緣統(tǒng)一的應(yīng)用部署和管理的標(biāo)準(zhǔn)。
然而,由于邊緣場(chǎng)景通信的不穩(wěn)定性和嚴(yán)苛的資源消耗限制,導(dǎo)致原生的K8S組件無(wú)法直接運(yùn)行在邊緣節(jié)點(diǎn)上,例如:工業(yè)網(wǎng)關(guān)等。而受限于K8S本身list/watch機(jī)制帶來(lái)的disconnect問(wèn)題,數(shù)據(jù)面和管理面斷連后,無(wú)法做到本地自治。
KubeEdge選擇的是“輕邊緣”架構(gòu),即邊緣側(cè)的容器引擎和設(shè)備管理agent盡量輕量化,管理面運(yùn)行在云端,且構(gòu)建在K8S的調(diào)度能力之上,100%兼容K8S原生API。KubeEdge all in K8S的設(shè)計(jì)理念使得用戶可以圍繞K8S的標(biāo)準(zhǔn)API定制需求或者輕松集成云原生生態(tài)中的成熟項(xiàng)目。
從ServiceMesh到EdgeMesh
在過(guò)去的一年中,服務(wù)網(wǎng)格(Service Mesh)已經(jīng)演變成為云原生堆棧的重要組成部分。像 Paypal,Lyft,Ticketmaster 和 CreditKarma 這樣的高流量公司都已經(jīng)為其生產(chǎn)應(yīng)用添加了 ServiceMesh。ServiceMesh與云原生應(yīng)用的興起有關(guān)。在云原生模型中,單個(gè)應(yīng)用程序可能包含數(shù)百個(gè)服務(wù),每個(gè)服務(wù)可能有數(shù)千個(gè)實(shí)例,并且這些實(shí)例中的每一個(gè)都可能處于不斷變化的狀態(tài),合理管理使用 ServiceMesh,對(duì)于確保端到端的性能和可靠性至關(guān)重要。
隨著信通院《云計(jì)算與邊緣計(jì)算協(xié)同九大應(yīng)用場(chǎng)景(2019年)》的發(fā)布,“云邊協(xié)同是邊緣計(jì)算發(fā)展的重要驅(qū)動(dòng)力和不可分割的需求”已經(jīng)逐漸成為業(yè)界共識(shí)。當(dāng)純粹的計(jì)算在邊緣轉(zhuǎn)向云邊協(xié)同,如何以云原生的方式構(gòu)建一個(gè)跨越了邊緣和云端的分布式系統(tǒng)就成為了一個(gè)至關(guān)重要的問(wèn)題:
(1)邊緣應(yīng)用需要有完善的微服務(wù)治理能力,以滿足日趨復(fù)雜的邊緣業(yè)務(wù)模型;
(2)邊云、邊邊的協(xié)同成為邊緣應(yīng)用的基本要求,以滿足海量邊緣數(shù)據(jù)的處理。
使用EdgeMesh可以支持跨越邊界的微服務(wù)訪問(wèn),EdgeMesh特性基于標(biāo)準(zhǔn)的istio進(jìn)行服務(wù)治理控制,引入EdgeMesh-proxy負(fù)責(zé)邊緣側(cè)流量轉(zhuǎn)發(fā)以及P2P技術(shù)跨子網(wǎng)通信,提供云-邊、邊-邊通信,最終實(shí)現(xiàn)跨越邊云的一致的服務(wù)發(fā)現(xiàn)和訪問(wèn)體驗(yàn)。
a)邊邊協(xié)同
b) 邊云協(xié)同
邊緣設(shè)備管理:設(shè)備訪問(wèn)微服務(wù)化
Kubernetes提供的設(shè)備插件(device plugin)框架, 旨在通過(guò)Kubelet管理“綁定”在節(jié)點(diǎn)上的硬件(加速器),例如:GPU、FPGAs、InfiniBand等,為Pod中的容器應(yīng)用提供更強(qiáng)的計(jì)算和網(wǎng)絡(luò)性能。
而KubeEdge的設(shè)備管理關(guān)注的是與邊緣通信的外部設(shè)備,例如:藍(lán)牙終端、智能傳感器、工業(yè)設(shè)備等。KubeEdge對(duì)設(shè)備管理的實(shí)現(xiàn)采用的是Kubernetes官方推薦的Operator方式,并實(shí)現(xiàn)了設(shè)備孿生(device twin)。設(shè)備管理Operator的核心是Device CRD和Device Controller,其中Device CRD用來(lái)描述設(shè)備的狀態(tài)等元數(shù)據(jù),Device Controller運(yùn)行在云上,負(fù)責(zé)在云和邊之間同步設(shè)備狀態(tài)的更新(包括設(shè)備實(shí)際狀態(tài)和用戶設(shè)定的期望狀態(tài))。
KubeEdge設(shè)備管理的工作流程如下圖所示:
Device Controller會(huì)把用戶設(shè)定的設(shè)備孿生期望狀態(tài)和配置下發(fā)到邊緣,而在邊緣的組件則要接收并處理這些信息。為了避免edge_core引入量處理邊緣設(shè)備通信的代碼,同時(shí)保持整個(gè)項(xiàng)目良好的易定制性,KubeEdge設(shè)計(jì)了一個(gè)邊緣設(shè)備驅(qū)動(dòng)統(tǒng)一管理引擎Mapper。
Mapper之于KubeEdge的作用如同CRI之于Kubernetes,只是CRI作為Kubernetes定義的容器接口與底層容器引擎打交道,而Mapper作為一個(gè)開(kāi)放接口方便不同的設(shè)備協(xié)議接入KubeEdge這個(gè)邊緣計(jì)算平臺(tái)。
KubeEdge v1.0中內(nèi)置支持的設(shè)備協(xié)議是藍(lán)牙,后續(xù)版本將逐步增加對(duì)OPC-UA和Modbus的支持。有了Mapper的解耦層,用戶可以方便地根據(jù)實(shí)際需要開(kāi)發(fā)自己的Mapper來(lái)實(shí)現(xiàn)與特定設(shè)備的通信,同時(shí)社區(qū)也歡迎廣大開(kāi)發(fā)者貢獻(xiàn)更多的協(xié)議實(shí)現(xiàn)。
Mapper的架構(gòu)如下圖所示:
歡迎加入KubeEdge大家庭
KubeEdge橫跨云原生和智能邊緣兩大版圖,擁有非常大的想象力空間,足夠給國(guó)內(nèi)的優(yōu)秀工程師們提供施展才華的平臺(tái)。我們希望借助KubeEdge開(kāi)放的架構(gòu)設(shè)計(jì)吸收更多全球開(kāi)發(fā)者參與CNCF云原生社區(qū),共同繁榮CNCF云原生和智能邊緣生態(tài),協(xié)力一起將KubeEdge打造為中國(guó)在全球CNCF云原生社區(qū)以及智能邊緣領(lǐng)域生態(tài)的名片。
值得一提的是,KubeEdge項(xiàng)目來(lái)源于華為云上的明星服務(wù)智能邊緣平臺(tái)(IEF),當(dāng)前IEF正處于公測(cè)階段,大家可以免費(fèi)去體驗(yàn)。
- 周鴻祎與賽車手陳震上演刺激漂移對(duì)決:6月17日,一起領(lǐng)略速度與激情!
- 重生特斯拉:馬斯克22年后重塑電動(dòng)汽車巨頭,揭秘‘殺死’最初特斯拉的背后故事
- 快手短劇小程序被關(guān)停,違規(guī)微短劇遭下架,究竟誰(shuí)在“受傷”?
- 寧德時(shí)代在宜賓成立動(dòng)力電池公司:瞄準(zhǔn)新能源巨頭的破局之戰(zhàn)
- 華為鴻蒙智行新訂單火爆:尊界S800斬獲8成份額,市場(chǎng)潛力不容忽視
- 蘋(píng)果承認(rèn)部分Mac設(shè)備無(wú)法開(kāi)機(jī),免費(fèi)維修等你來(lái)領(lǐng)!別再猶豫,抓緊時(shí)間!
- 快手短劇小程序明日關(guān)停:意料之外的裁員風(fēng)暴,究竟誰(shuí)在裸泳?
- 九章云極攜手賽富投資領(lǐng)投AI-STAR智算生態(tài)基金,引領(lǐng)人工智能新紀(jì)元
- 強(qiáng)化學(xué)習(xí)云平臺(tái)崛起:九章云極發(fā)布全球首個(gè)九章智算云Alaya NeW Cloud 2.0,引領(lǐng)AI算力新紀(jì)元
- 字節(jié)AI大佬李航"功成身退",卸任AI Lab負(fù)責(zé)人,探索新篇章
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。