kubuedge

一、KubeEdge介紹
KubeEdge 是一個(gè)開源的系統(tǒng),可將本機(jī)容器化應(yīng)用編排和管理擴(kuò)展到邊緣端設(shè)備。 它構(gòu)建在Kubernetes之上,為網(wǎng)絡(luò)和應(yīng)用程序提供核心基礎(chǔ)架構(gòu)支持,并在云端和邊緣端部署應(yīng)用,同步元數(shù)據(jù)。100%兼容K8S API,可以使用K8S API原語管理邊緣節(jié)點(diǎn)和設(shè)備。KubeEdge 還支持 MQTT 協(xié)議,允許開發(fā)人員編寫客戶邏輯,并在邊緣端啟用設(shè)備通信的資源約束。

1、優(yōu)勢(shì)
kubernetes + 容器的組合大大提高了用戶創(chuàng)建部署應(yīng)用的效率。kubernetes 可以把 n 臺(tái)主機(jī)整合成一個(gè)集群,用戶在 master 節(jié)點(diǎn)上通過編寫一個(gè) yaml 或者 json 格式的配置文件,也可以通過命令等請(qǐng)求 Kubernetes API 創(chuàng)建應(yīng)用,就直接將應(yīng)用部署到集群上的各個(gè)節(jié)點(diǎn)上,該配置文件中還包含了用戶想要應(yīng)用程序保持的狀態(tài),從而生成用戶想要的環(huán)境。
Kubernetes 作為容器編排的標(biāo)準(zhǔn),自然會(huì)想把它應(yīng)用到邊緣計(jì)算上,即通過 kubernetes 在邊緣側(cè)部署應(yīng)用,但是 kubernetes 在邊緣側(cè)部署應(yīng)用時(shí)遇到了一些問題,例如:

邊緣側(cè)設(shè)備沒有足夠的資源運(yùn)行一個(gè)完整的 Kubelet
一些邊緣側(cè)設(shè)備是 ARM 架構(gòu)的,然而大部分的 Kubernetes 發(fā)行版并不支持 ARM 架構(gòu)
邊緣側(cè)網(wǎng)絡(luò)很不穩(wěn)定,甚至可能完全不通,而 kubernetes 需要實(shí)時(shí)通信,無法做到離線自治
很多邊緣設(shè)備都不支持TCP/IP 協(xié)議
Kubernetes 客戶端(集群中的各個(gè)Node節(jié)點(diǎn))是通過 list-watch 去監(jiān)聽 Master 節(jié)點(diǎn)的 apiserver 中資源的增刪改查,list-watch 中的 watch 是調(diào)用資源的 watch API 監(jiān)聽資源變更事件,基于 HTTP 長連接實(shí)現(xiàn),而維護(hù)一個(gè) TCP 長連接開銷較大。從而造成可擴(kuò)展性受限。
為了解決包含但不限于以上 Kubernetes 在物聯(lián)網(wǎng)邊緣場(chǎng)景下的問題,從而產(chǎn)生了KubeEdge 。對(duì)應(yīng)以上問題:

KubeEdge 保留了 Kubernetes 的管理面,重新開發(fā)了節(jié)點(diǎn) agent,大幅度優(yōu)化讓邊緣組件資源占用更低很多
KubeEdge 可以完美支持 ARM 架構(gòu)和 x86 架構(gòu)
KubeEdge 有離線自治功能,可以看 MetaManager 組件的介紹
KubeEdge 豐富了應(yīng)用和協(xié)議支持,目前已經(jīng)支持和計(jì)劃支持的有:MQTT、BlueTooth、OPC UA、Modbus等。
KubeEdge 通過底層優(yōu)化的多路復(fù)用消息通道優(yōu)化了云邊的通信的性能,可以看 EdgeHub 組件的介紹

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容