<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          多圖詳解邊緣計(jì)算系統(tǒng)的組成及概念

          共 4597字,需瀏覽 10分鐘

           ·

          2021-09-07 10:22


          作者:崔廣章
          來(lái)源:大數(shù)據(jù)DT(ID:hzdashuju)




          本文從組成部分和概念解析兩方面來(lái)說(shuō)明邊緣計(jì)算系統(tǒng)。

          1. 組成部分:邊緣計(jì)算系統(tǒng)由云、邊、端三部分組成,每部分的解決方案不止一種。本文的云組成部分選擇Kubernetes,邊組成部分選擇KubeEdge,端組成部分選擇EdgeX Foundry。
          2. 概念解析:對(duì)組成邊緣計(jì)算系統(tǒng)的云、邊、端三部分涉及的相關(guān)概念進(jìn)行說(shuō)明。


          01 邊緣計(jì)算系統(tǒng)的組成

          1. 云——Kubernetes

          Kubernetes是Google開源的大規(guī)模容器編排解決方案。整套解決方案由核心組件、第三方組件和容器運(yùn)行時(shí)組成,具體如下所示。

          1)核心組件

          • Kube-apiserverKubernetes內(nèi)部組件相互通信的消息總線,對(duì)外暴露集群API資源的唯一出口
          • Kube-controller:保證集群內(nèi)部資源的現(xiàn)實(shí)狀態(tài)與期望狀態(tài)保持一致
          • Kube-scheduler:將需要調(diào)度的負(fù)載與可用資源最佳匹配
          • Kube-proxy:為節(jié)點(diǎn)內(nèi)的負(fù)載訪問和節(jié)點(diǎn)間的負(fù)載訪問做代理
          • Kubelet:根據(jù)Kube-scheduler的調(diào)度結(jié)果,操作相應(yīng)負(fù)載

          2)第三方組件

          • Etcd:存儲(chǔ)集群的元數(shù)據(jù)和狀態(tài)數(shù)據(jù)
          • Flannel
            集群的跨主機(jī)負(fù)載網(wǎng)絡(luò)通信的解決方案
            需要對(duì)原來(lái)的數(shù)據(jù)包進(jìn)行額外的封裝、解封裝,性能損耗較大
          • Calico
            集群的跨主機(jī)負(fù)載網(wǎng)絡(luò)通信的解決方案
            純?nèi)龑泳W(wǎng)絡(luò)解決方案,不需要額外的封裝、解封裝,性能損耗較小
          • CoreDNS:負(fù)責(zé)集群中負(fù)載的域名解析

          3)容器運(yùn)行時(shí)

          • Docker:目前默認(rèn)的容器運(yùn)行時(shí)
          • Containerd:比Docker輕量,穩(wěn)定性與Docker相當(dāng)?shù)娜萜鬟\(yùn)行時(shí)
          • Cri-o
            輕量級(jí)容器運(yùn)行時(shí)
            目前穩(wěn)定性沒有保證
          • Frakti
            基于Hypervisor的容器運(yùn)行時(shí)
            目前穩(wěn)定性沒有保證


          2. 邊——KubeEdge

          KubeEdge是華為開源的一款基于Kubernetes的邊緣計(jì)算平臺(tái),用于將容器化應(yīng)用的編排功能從云擴(kuò)展到邊緣的節(jié)點(diǎn)和設(shè)備,并為云和邊緣之間的網(wǎng)絡(luò)、應(yīng)用部署和元數(shù)據(jù)同步提供基礎(chǔ)架構(gòu)支持。KubeEdge使用Apache 2.0許可,并且可以免費(fèi)用于個(gè)人或商業(yè)用途。

          KubeEdge由云部分、邊緣部分和容器運(yùn)行時(shí)組成,具體如下所示。

          • 云部分 | CloudCore
          • 負(fù)責(zé)將云部分的事件和指令下發(fā)到邊緣端,同時(shí)接收邊緣端上報(bào)的狀態(tài)信息和事件信息

          • 邊緣部分 | EdgeCore
          • 接收云部分下發(fā)的事件和指令,并執(zhí)行相關(guān)指令,同時(shí)將邊緣的狀態(tài)信息和事件信息上報(bào)到云部分

          • 容器運(yùn)行時(shí) | Docker
          • 目前,KubeEdge默認(rèn)支持Docker
          • 官方表示未來(lái)會(huì)支持Containerd、Cri-o等容器運(yùn)行時(shí)

          3. 端——EdgeX Foundry

          EdgeX Foundry是一個(gè)由Linux基金會(huì)運(yùn)營(yíng)的開源邊緣計(jì)算物聯(lián)網(wǎng)軟件框架項(xiàng)目。該項(xiàng)目的核心是基于與硬件和操作系統(tǒng)完全無(wú)關(guān)的參考軟件平臺(tái)建立的互操作框架,構(gòu)建即插即用的組件生態(tài)系統(tǒng),加速物聯(lián)網(wǎng)方案的部署。EdgeX Foundry使有意參與的各方在開放與互操作的物聯(lián)網(wǎng)方案中自由協(xié)作,無(wú)論其是使用公開標(biāo)準(zhǔn)還是私有方案。

          EdgeX Foundry微服務(wù)集合構(gòu)成了4個(gè)微服務(wù)層及兩個(gè)增強(qiáng)的基礎(chǔ)系統(tǒng)服務(wù)。4個(gè)微服務(wù)層包含從物理域數(shù)據(jù)采集到信息域數(shù)據(jù)處理等一系列服務(wù),兩個(gè)增強(qiáng)的基礎(chǔ)系統(tǒng)服務(wù)為4個(gè)微服務(wù)層提供服務(wù)支撐。

          4個(gè)微服務(wù)層從物理層到應(yīng)用層依次為設(shè)備服務(wù)(Device Service)層、核心服務(wù)(Core Service)層、支持服務(wù)(Supporting Service)層、導(dǎo)出服務(wù)(Export Service)層,兩個(gè)增強(qiáng)的基礎(chǔ)系統(tǒng)服務(wù)包括安全和系統(tǒng)管理服務(wù),具體說(shuō)明如下所示。

          1)設(shè)備服務(wù)層

          • Device-modbus-go:Go實(shí)現(xiàn)對(duì)接使用Modbus協(xié)議設(shè)備的服務(wù)
          • Device-camera-go:Go實(shí)現(xiàn)對(duì)接攝像頭設(shè)備的服務(wù)
          • Device-snmp-go:Go實(shí)現(xiàn)對(duì)接SNMP服務(wù)
          • Device-mqtt-go:Go實(shí)現(xiàn)對(duì)接使用MQTT協(xié)議設(shè)備的服務(wù)
          • Device-sdk-go
            Go實(shí)現(xiàn)對(duì)接其他設(shè)備的SDK
            SDK給設(shè)備接入提供了較大的靈活性

          2)核心服務(wù)層

          • Core-command:負(fù)責(zé)向南向設(shè)備發(fā)送命令
          • Core-metadata:負(fù)責(zé)設(shè)備自身能力描述,提供配置新設(shè)備,并將它們與其擁有的設(shè)備服務(wù)配對(duì)的功能
          • Core-data:負(fù)責(zé)采集南向設(shè)備層數(shù)據(jù),并向北向服務(wù)提供數(shù)據(jù)服務(wù)
          • Registry & Config:負(fù)責(zé)服務(wù)注冊(cè)與發(fā)現(xiàn),為其他EdgeX Foundry微服務(wù)提供關(guān)于EdgeX Foundry的相關(guān)服務(wù)的信息,包括微服務(wù)配置屬性

          3)支持服務(wù)層

          • Support-logging:負(fù)責(zé)日志記錄
          • Support-notification:負(fù)責(zé)事件通知
          • Support-scheduler:負(fù)責(zé)數(shù)據(jù)調(diào)度

          4)導(dǎo)出服務(wù)層

          • Export-client:導(dǎo)出數(shù)據(jù)的客戶端
          • Export-distro:導(dǎo)出數(shù)據(jù)的應(yīng)用

          5)兩個(gè)增強(qiáng)的基礎(chǔ)系統(tǒng)服務(wù)

          • System-mgmt-agent:提供啟動(dòng)、停止所有微服務(wù)的API
          • Sys-mgmt-executor:負(fù)責(zé)啟動(dòng)、停止所有微服務(wù)的最終執(zhí)行


          02 概念解析

          組成邊緣計(jì)算系統(tǒng)的云、邊、端三部分的相關(guān)概念如下。

          • 云:涉及的概念包括Container、Pod、ReplicaSet、Service、Deployment、DaemonSet、Job、Volume、ConfigMap、NameSpace、Ingress等。
          • 邊:目前邊緣系統(tǒng)的實(shí)現(xiàn)方式是通過對(duì)云原有的組件進(jìn)行裁剪并下沉到邊緣,所以邊涉及的概念是云的子集,而且與云保持一致。
          • 端:部署在邊上的一套微服務(wù),目前沒有引入新的概念。

          目前,邊和端都在沿用云的概念,所以本節(jié)主要是對(duì)云的概念進(jìn)行解析。下面以圖解的形式對(duì)云涉及的相關(guān)概念進(jìn)行說(shuō)明。由圖1-1可知,Container(容器)是在操作系統(tǒng)之上的一種新的環(huán)境隔離技術(shù)。使用容器隔離出的獨(dú)立空間包含應(yīng)用所需的運(yùn)行時(shí)環(huán)境和依賴庫(kù)。在同一臺(tái)主機(jī)上,容器共享操作系統(tǒng)內(nèi)核。

          ▲圖1-1 Container解析

          由圖1-2可知,Pod是由一組容器組成的,在同一個(gè)Pod內(nèi)的容器共享存儲(chǔ)和網(wǎng)絡(luò)命名空間。在邊緣計(jì)算系統(tǒng)中,Pod是最小的可調(diào)度單元,也是應(yīng)用負(fù)載的最終載體。

          ▲圖1-2 Pod解析

          由圖1-3可知,ReplicaSet用來(lái)管理Pod,負(fù)責(zé)讓Pod的期望數(shù)量與Pod真實(shí)數(shù)量保持一致。在邊緣計(jì)算系統(tǒng)中,ReplicaSet負(fù)責(zé)維護(hù)應(yīng)用的多實(shí)例和故障自愈。

          ▲圖1-3 ReplicaSet解析

          由圖1-4可知,Service作為一組Pod的訪問代理,在多個(gè)Pod之間做負(fù)載均衡。Pod的生命周期相對(duì)比較短暫,變更頻繁。Service除了為與之相關(guān)的Pod做訪問代理和負(fù)載均衡外,還會(huì)維護(hù)與Pod的對(duì)應(yīng)關(guān)系。

          ▲圖1-4 Service解析

          由圖1-5可知,Deployment是ReplicaSet的抽象,在ReplicaSet的基礎(chǔ)上增加了一些高級(jí)功能。其功能和應(yīng)用場(chǎng)景與ReplicaSet相同。

          ▲圖1-5 Deployment解析

          由圖1-6可知,DaemonSet負(fù)責(zé)讓指定的Pod在每個(gè)節(jié)點(diǎn)上都啟動(dòng)一個(gè)實(shí)例。該功能一般用在部署網(wǎng)絡(luò)插件、監(jiān)控插件和日志插件的場(chǎng)景。

          ▲圖1-6 DaemonSet解析

          由圖1-7可知,Job用來(lái)管理批量運(yùn)行的Pod,該管理類型的Pod會(huì)被定期批量觸發(fā)。與Deployment管理的Pod不同,Job管理的Pod執(zhí)行完相應(yīng)的任務(wù)后就退出,不會(huì)一直駐留。在邊緣計(jì)算系統(tǒng)中,一般用Job所管理的Pod來(lái)訓(xùn)練AI模型。

          ▲圖1-7 Job解析

          由圖1-8可知,Volume是用來(lái)給Pod提供存儲(chǔ)的,通過掛載的方式與對(duì)應(yīng)Pod關(guān)聯(lián)。Volume分臨時(shí)存儲(chǔ)和持久存儲(chǔ),臨時(shí)存儲(chǔ)類型的Volume會(huì)隨著Pod的刪除而被刪除,持久存儲(chǔ)類型的Volume不會(huì)隨著Pod的刪除而被刪除。

          ▲圖1-8 Volume解析

          由圖1-9可知,ConfigMap作為Pod存儲(chǔ)配置文件的載體,通過環(huán)境變量(env)和文件卷的方式與Pod進(jìn)行關(guān)聯(lián)。在邊緣計(jì)算系統(tǒng)中,以ConfigMap方式來(lái)管理配置信息會(huì)更方便。ConfigMap還可以對(duì)配置中的敏感信息進(jìn)行加密,使配置信息更安全。

          ▲圖1-9 ConfigMap解析

          由圖1-10可知,NameSpace是對(duì)Pod、Service、ConfigMap、Deployment、DaemonSet等資源進(jìn)行隔離的一種機(jī)制,一般用在同一公司的不同團(tuán)隊(duì)隔離資源的場(chǎng)景。邊緣計(jì)算系統(tǒng)使用NameSpace來(lái)對(duì)一個(gè)團(tuán)隊(duì)可以使用的資源(CPU、內(nèi)存)和創(chuàng)建的負(fù)載所需要的資源進(jìn)行限制。

          ▲圖1-10 NameSpace解析

          由圖1-11可知,Ingress可作為集群內(nèi)與集群外相互通信的橋梁—將集群內(nèi)的服務(wù)暴露到集群外,同時(shí)可以對(duì)進(jìn)入集群內(nèi)的流量進(jìn)行合理的管控。在邊緣計(jì)算系統(tǒng)中,Ingress是一種資源對(duì)象,需要配合Ingress Controller和反向代理工作。

          ▲圖1-11 Ingress解析

          關(guān)于作者:崔廣章,之江實(shí)驗(yàn)室高級(jí)研究專員,資深云計(jì)算和邊緣計(jì)算技術(shù)工程師。從2014年接觸云計(jì)算以來(lái),參與過多個(gè)云計(jì)算生產(chǎn)項(xiàng)目,其中代表性的項(xiàng)目有基于OpenStack進(jìn)行定制開發(fā)的運(yùn)營(yíng)商私有云、政務(wù)云,基于開源容器云方案定制開發(fā)的面向運(yùn)營(yíng)商的數(shù)據(jù)中心操作系統(tǒng)(DCOS),2018年開始從事邊緣計(jì)算相關(guān)研究與開發(fā)。

          本文摘編自深入理解邊緣計(jì)算:云、邊、端工作原理與源碼分析》,經(jīng)出版方授權(quán)發(fā)布。

          延伸閱讀深入理解邊緣計(jì)算
          點(diǎn)擊上圖了解及購(gòu)買
          轉(zhuǎn)載請(qǐng)聯(lián)系微信:DoctorData

          推薦語(yǔ):這是一本從環(huán)境搭建、部署配置、系統(tǒng)架構(gòu)、工作原理、源碼分析、二次開發(fā)等維度系統(tǒng)講解如何打造協(xié)同的云、邊、端系統(tǒng)的著作。 


          劃重點(diǎn)??


          干貨直達(dá)??


          更多精彩??

          在公眾號(hào)對(duì)話框輸入以下關(guān)鍵詞
          查看更多優(yōu)質(zhì)內(nèi)容!

          讀書 | 書單 | 干貨 | 講明白 | 神操作 | 手把手
          大數(shù)據(jù) | 云計(jì)算 | 數(shù)據(jù)庫(kù) | Python | 爬蟲 | 可視化
          AI | 人工智能 | 機(jī)器學(xué)習(xí) | 深度學(xué)習(xí) | NLP
          5G | 中臺(tái) | 用戶畫像 數(shù)學(xué) | 算法 數(shù)字孿生

          據(jù)統(tǒng)計(jì),99%的大咖都關(guān)注了這個(gè)公眾號(hào)
          ??
          瀏覽 8
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产区在线观看视频 | 一道本一区二区三区在线视频 | 黄色在线免费一级视频 | 美女黄18禁 | 爱草逼爱草逼爱草逼爱草逼爱草逼爱草逼 |