詳解邊緣計(jì)算系統(tǒng)邏輯架構(gòu):云、邊、端協(xié)同
1.邊緣計(jì)算系統(tǒng)邏輯架構(gòu)簡(jiǎn)介
由圖3-1可知,邏輯架構(gòu)側(cè)重邊緣計(jì)算系統(tǒng)云、邊、端各部分之間的交互和協(xié)同,包括云、邊協(xié)同,邊、端協(xié)同和云、邊、端協(xié)同3個(gè)部分。
編輯搜圖
▲圖3-1 邊緣計(jì)算系統(tǒng)邏輯架構(gòu)
云、邊協(xié)同:通過(guò)云部分Kubernetes的控制節(jié)點(diǎn)和邊部分KubeEdge所運(yùn)行的節(jié)點(diǎn)共同實(shí)現(xiàn)。
邊、端協(xié)同:通過(guò)邊部分KubeEdge和端部分EdgeX Foundry共同實(shí)現(xiàn)。
云、邊、端協(xié)同:通過(guò)云解決方案Kubernetes的控制節(jié)點(diǎn)、邊緣解決方案KubeEdge和端解決方案EdgeX Foundry共同實(shí)現(xiàn)。
2.云、邊協(xié)同
云、邊協(xié)同的具體實(shí)現(xiàn)如圖3-2所示。
編輯搜圖
▲圖3-2 邊緣計(jì)算系統(tǒng)中云、邊協(xié)同邏輯架構(gòu)
Kubernetes控制節(jié)點(diǎn)沿用云部分原有的數(shù)據(jù)模型,保持原有的控制、數(shù)據(jù)流程不變,即KubeEdge所運(yùn)行的節(jié)點(diǎn)在Kubernetes上呈現(xiàn)出來(lái)的是一個(gè)普通節(jié)點(diǎn)。Kubernetes可以像管理普通節(jié)點(diǎn)一樣管理KubeEdge所運(yùn)行的節(jié)點(diǎn)。
KubeEdge之所以能夠運(yùn)行在資源受限、網(wǎng)絡(luò)質(zhì)量不可控的邊緣節(jié)點(diǎn)上,是因?yàn)镵ubeEdge在Kubernetes控制節(jié)點(diǎn)的基礎(chǔ)上通過(guò)云部分的CloudCore和邊緣部分的EdgeCore實(shí)現(xiàn)了對(duì)Kubernetes云計(jì)算編排容器化應(yīng)用的下沉。
云部分的CloudCore負(fù)責(zé)監(jiān)聽(tīng)Kubernetes控制節(jié)點(diǎn)的指令和事件下發(fā)到邊緣部分的EdgeCore,同時(shí)將邊緣部分的EdgeCore上報(bào)的狀態(tài)信息和事件信息提交給Kubernetes的控制節(jié)點(diǎn);邊緣部分的EdgeCore負(fù)責(zé)接收云部分CloudCore的指令和事件信息,并執(zhí)行相關(guān)指令和維護(hù)邊緣負(fù)載,同時(shí)將邊緣部分的狀態(tài)信息和事件信息上報(bào)給云部分的CloudCore。
除此之外,EdgeCore是在Kubelet組件基礎(chǔ)上裁剪、定制而成的,即將Kubelet在邊緣上用不到的富功能進(jìn)行裁剪,針對(duì)邊緣部分資源受限、網(wǎng)絡(luò)質(zhì)量不佳的現(xiàn)狀在Kubelet的基礎(chǔ)上增加了離線計(jì)算功能,使EdgeCore能夠很好地適應(yīng)邊緣環(huán)境。
3.邊、端協(xié)同
邊、端協(xié)同的具體實(shí)現(xiàn)如圖3-3所示。
編輯搜圖
▲圖3-3 邊緣計(jì)算系統(tǒng)中邊、端協(xié)同邏輯架構(gòu)
KubeEdge作為運(yùn)行在邊緣節(jié)點(diǎn)的管理程序,負(fù)責(zé)管理在邊緣節(jié)點(diǎn)上應(yīng)用負(fù)載的資源、運(yùn)行狀態(tài)和故障等。在一些的邊緣計(jì)算系統(tǒng)中,KubeEdge為EdgeX Foundry服務(wù)提供所需的計(jì)算資源,同時(shí)負(fù)責(zé)管理EdgeX Foundry端服務(wù)的整個(gè)生命周期。
EdgeX Foundry是由KubeEdge管理的一套IoT SaaS平臺(tái)。該平臺(tái)以微服務(wù)的形式管理多種物聯(lián)網(wǎng)終端設(shè)備。同時(shí),EdgeX Foundry可以通過(guò)所管理的微服務(wù)采集、過(guò)濾、存儲(chǔ)和挖掘多種物聯(lián)網(wǎng)終端設(shè)備的數(shù)據(jù),也可以通過(guò)所管理的微服務(wù)向多種物聯(lián)網(wǎng)終端設(shè)備下發(fā)指令來(lái)對(duì)終端設(shè)備進(jìn)行控制。
由圖3-4可知,KubeEdge的解決方案由MQTT代理和對(duì)接支持各種協(xié)議設(shè)備的服務(wù)組成。
編輯搜圖
▲圖3-4 KubeEdge端解決方案邏輯架構(gòu)
MQTT代理:作為各種物聯(lián)網(wǎng)終端設(shè)備和KubeEdge節(jié)點(diǎn)之間的一個(gè)通信管道,負(fù)責(zé)接收終端設(shè)備發(fā)送的數(shù)據(jù),并將接收到的數(shù)據(jù)發(fā)送到已經(jīng)訂閱MQTT代理的KubeEdge節(jié)點(diǎn)上。
對(duì)接支持各種協(xié)議設(shè)備的服務(wù):負(fù)責(zé)與支持相應(yīng)協(xié)議的設(shè)備進(jìn)行交互,能夠采集設(shè)備的數(shù)據(jù)并發(fā)送給MQTT代理,能夠從MQTT代理接收相關(guān)指令并下發(fā)到設(shè)備。
通過(guò)上述分析可知,KubeEdge的端解決方案還比較初級(jí)。
KubeEdge的端解決方案支持的負(fù)載類型還比較單一,目前只能通過(guò)MQTT代理支持一些物聯(lián)網(wǎng)終端設(shè)備,對(duì)視頻處理和使用AI模型進(jìn)行推理的應(yīng)用負(fù)載還不支持。
對(duì)接支持各種協(xié)議設(shè)備的服務(wù)目前還比較少,只支持使用Bluetooth和Modbus兩種協(xié)議的設(shè)備。
基于上述原因,我們的邊緣計(jì)算系統(tǒng)的端解決方案沒(méi)有使用KubeEdge的端解決方案,而是使用EdgeX Foundry這款功能相對(duì)完善的IoT SaaS平臺(tái)。
4.云、邊、端協(xié)同
邊緣計(jì)算系統(tǒng)中云、邊、端協(xié)同的理想效果如圖3-5所示。
編輯搜圖
▲圖3-5 邊緣系統(tǒng)中云、邊、端協(xié)同的理想效果
由圖3-5可知,云、邊、端協(xié)同包括兩層,即云、邊協(xié)同和云、邊、端協(xié)同。
云、邊協(xié)同:云作為控制平面,邊作為計(jì)算平臺(tái)。
云、邊、端協(xié)同:在云、邊協(xié)同的基礎(chǔ)上,管理終端設(shè)備的服務(wù)作為邊上的負(fù)載。云可以通過(guò)控制邊來(lái)影響端,從而實(shí)現(xiàn)云、邊、端協(xié)同。
云、邊、端協(xié)同是通過(guò)Kubernetes的控制節(jié)點(diǎn)、KubeEdge和EdgeX Foundry共同實(shí)現(xiàn)的,Kubernetes的控制節(jié)點(diǎn)下發(fā)指令到KubeEdge的邊緣集群,操作EdgeX Foundry的服務(wù),從而影響終端設(shè)備。目前,我們還不能通過(guò)Kubernetes的控制節(jié)點(diǎn)與終端設(shè)備直接交互。
5.小結(jié)
本文對(duì)整個(gè)邊緣計(jì)算系統(tǒng)的邏輯架構(gòu)及云、邊、端之間的邏輯關(guān)系和現(xiàn)狀進(jìn)行了系統(tǒng)梳理。
從云、邊協(xié)同的架構(gòu)切入,對(duì)目前云、邊協(xié)同的架構(gòu)和原理進(jìn)行了梳理,同時(shí)對(duì)邊解決方案的一些特性進(jìn)行了說(shuō)明。
從邊、端協(xié)同的架構(gòu)切入,對(duì)目前邊、端協(xié)同的架構(gòu)和原理進(jìn)行了系統(tǒng)梳理,并對(duì)KubeEdge自有的端解決方案的架構(gòu)、原理和現(xiàn)狀進(jìn)行了說(shuō)明。
從云、邊、端協(xié)同的架構(gòu)切入,主要對(duì)云、邊、端協(xié)同的理想效果進(jìn)行了說(shuō)明。
關(guān)于作者:崔廣章,之江實(shí)驗(yàn)室高級(jí)研究專員,資深云計(jì)算和邊緣計(jì)算技術(shù)工程師。從2014年接觸云計(jì)算以來(lái),參與過(guò)多個(gè)云計(jì)算生產(chǎn)項(xiàng)目,其中代表性的項(xiàng)目有基于OpenStack進(jìn)行定制開(kāi)發(fā)的運(yùn)營(yíng)商私有云、政務(wù)云,基于開(kāi)源容器云方案定制開(kāi)發(fā)的面向運(yùn)營(yíng)商的數(shù)據(jù)中心操作系統(tǒng)(DCOS),2018年開(kāi)始從事邊緣計(jì)算相關(guān)研究與開(kāi)發(fā)。