對于云計(jì)算大家已經(jīng)耳熟能詳了,邊緣計(jì)算又是一種什么玩法以及存在哪些挑戰(zhàn)呢?
筆者特別拜訪專家,整理了系列文章,和大家從0到1來學(xué)習(xí)邊緣計(jì)算的技術(shù)。
30秒了解什么是邊緣計(jì)算?邊緣計(jì)算為什么重要?
根據(jù)邊緣計(jì)算產(chǎn)業(yè)聯(lián)盟的定義,邊緣計(jì)算是在靠近物或數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣側(cè),融合網(wǎng)絡(luò)、計(jì)算、存儲、應(yīng)用核心能力的開放平臺,就近提供邊緣智能服務(wù),滿足行業(yè)在敏捷聯(lián)接、實(shí)時(shí)業(yè)務(wù)、數(shù)據(jù)優(yōu)化、應(yīng)用智能、安全與隱私保護(hù)等方面的關(guān)鍵需求。邊緣計(jì)算將計(jì)算、網(wǎng)絡(luò)、存儲、帶寬等能力從云延伸到網(wǎng)絡(luò)邊緣的新型架構(gòu)模式,其能效友好、帶寬充足、延遲低等特性很好地補(bǔ)充了集中化計(jì)算模式遇到的問題。
圖片:邊緣計(jì)算技術(shù)作為5G網(wǎng)絡(luò)架構(gòu)中核心,智能化改造趨勢分析
30秒看完邊緣計(jì)算集中式的3大難題
隨著信息技術(shù)的發(fā)展,計(jì)算資源模式由單一的集中化變成了往集中化和邊緣化兩個(gè)方向的分化,集中化即當(dāng)前如火如荼的云計(jì)算,邊緣化即最近幾年興起的邊緣計(jì)算。云計(jì)算給世界帶來的變革大家有目共睹,但有了云計(jì)算為什么還需要邊緣計(jì)算呢?這就需要一起來了解集中式的云計(jì)算中遇到的問題:
?PUE問題。PUE(Power Usage Effectiveness)電源使用效率,是評價(jià)數(shù)據(jù)中心能源效率的指標(biāo)。集中式數(shù)據(jù)中心耗電量巨大,屬于高耗能產(chǎn)業(yè),不符合綠色能源、節(jié)能減排理念,其規(guī)模和數(shù)量受政策限制。根據(jù)IDC統(tǒng)計(jì),全球數(shù)據(jù)中心數(shù)量在2015年達(dá)到頂峰,然后開始逐年下降,預(yù)計(jì)2021年會比2015年降低15%。
數(shù)據(jù)來源:數(shù)據(jù)中心白皮書數(shù)據(jù)及預(yù)測、光大證券研究所
?安全隱私問題。應(yīng)用和數(shù)據(jù)是企業(yè)的核心資源,隨著越來越多的行業(yè)互聯(lián)網(wǎng)化,如何保證應(yīng)用和數(shù)據(jù)的可靠性、安全性是企業(yè)最關(guān)心的議題之一。
?技術(shù)新需求問題。隨著技術(shù)的發(fā)展,單靠數(shù)據(jù)中心已經(jīng)很難滿足需求。
典型場景包括:
1)物聯(lián)網(wǎng)技術(shù),大量的智能終端位于網(wǎng)絡(luò)邊緣,集中計(jì)算模式不能滿足所有應(yīng)用場景;
2)移動互聯(lián)網(wǎng)技術(shù)的發(fā)展,5G為移動互聯(lián)網(wǎng)注入了巨大的能量,集中計(jì)算模式滿足不了直播、游戲、音視頻等應(yīng)用在帶寬、延遲等方面的需求。
30秒了解邊緣計(jì)算發(fā)展現(xiàn)狀
目前邊緣計(jì)算研究領(lǐng)域主要集中在:計(jì)算模型、體系結(jié)構(gòu)、信息安全等方面。
?計(jì)算模型主要有:霧計(jì)算、移動邊緣計(jì)算、智能邊緣計(jì)算等,涵蓋物聯(lián)網(wǎng)、無線通信網(wǎng)、移動互聯(lián)網(wǎng)等領(lǐng)域。
?體系結(jié)構(gòu)有:ETSI參考架構(gòu)、MEC架構(gòu)、ECC參考架構(gòu)、SWoT架構(gòu)、AI-EC架構(gòu)。
目前邊緣計(jì)算研究熱點(diǎn)主要是延遲敏感、實(shí)時(shí)性要求高的場景,如:
?云基礎(chǔ)設(shè)施2.0。國內(nèi)外各大云廠商逐漸從“中心云”模式轉(zhuǎn)換到“云計(jì)算+邊緣計(jì)算”模式,細(xì)化出多種行業(yè)云:金融云、游戲云、直播云、教育云等。
?物聯(lián)網(wǎng)。隨著IoT規(guī)模的快速增長,越來越多的數(shù)據(jù)無法直接上傳到云中心,在設(shè)備側(cè)完成數(shù)據(jù)存儲、分析、處理將越來越重要
?工業(yè)互聯(lián)網(wǎng)。工業(yè)互聯(lián)網(wǎng)的本質(zhì)和核心是把設(shè)備、生產(chǎn)線、工廠、供應(yīng)商、產(chǎn)品和客戶緊密地連接融合起來,從而提高效率,推動整個(gè)制造服務(wù)體系智能化。
?CDN。CDN本質(zhì)上是在靠近用戶的位置分發(fā)內(nèi)容,邊緣計(jì)算可以讓CDN離用戶更近,提供更低時(shí)延、更大帶寬的服務(wù)。
?5G。國家標(biāo)準(zhǔn)組織ETSI認(rèn)為移動邊緣計(jì)算MEC是一種將基站和互聯(lián)網(wǎng)業(yè)務(wù)深度融合的技術(shù),可以靈活地在物理網(wǎng)絡(luò)切分出邏輯網(wǎng)絡(luò)以滿足復(fù)雜多變的應(yīng)用需求。
15秒掃完邊緣計(jì)算帶來的挑戰(zhàn)
與強(qiáng)勁的市場需求矛盾的是,邊緣計(jì)算目前尚沒有一套成熟的技術(shù)體系,存在的問題包括:
?缺失技術(shù)標(biāo)準(zhǔn)和規(guī)范
?沒有統(tǒng)一的體系結(jié)構(gòu)
?邊緣設(shè)備異構(gòu)嚴(yán)重
?邊緣設(shè)備數(shù)量龐大、分布廣闊
?服務(wù)質(zhì)量保障
邊緣容器誕生帶來的希望之光
容器技術(shù)是最近幾年發(fā)展勢頭很好的技術(shù)之一,相比物理機(jī)和虛擬機(jī),容器技術(shù)非常輕量級,并且具有如下優(yōu)點(diǎn):部署簡單、支持多環(huán)境、啟動時(shí)間更短、易擴(kuò)容、易遷移,比較常見的容器技術(shù)有Docker和Containerd。這些特點(diǎn)很好地解決了“邊緣設(shè)備異構(gòu)嚴(yán)重”這一問題。
但是在管理主機(jī)數(shù)量規(guī)模較大的業(yè)務(wù)場景時(shí),單機(jī)容器管理方案往往力不從心。Kubernetes是當(dāng)前最流行的容器編排和管理系統(tǒng),它實(shí)現(xiàn)了一套高效的應(yīng)用管理、應(yīng)用自修復(fù)、資源管理、線上運(yùn)維和排障機(jī)制,并且形成了監(jiān)控告警、服務(wù)網(wǎng)格、日志及調(diào)用鏈分析、CI/CD等方面的一系列生態(tài)。這些有助于解決“缺失技術(shù)標(biāo)準(zhǔn)和規(guī)范”、“沒有統(tǒng)一的體系結(jié)構(gòu)”、“服務(wù)質(zhì)量保障”、“管理成本高”等方面的問題。
然而,Kubernetes原本是針對集中式資源管理場景設(shè)計(jì),簡單地應(yīng)用到邊緣計(jì)算場景會遇到諸多不適應(yīng),導(dǎo)致系統(tǒng)不穩(wěn)定甚至在某些場景下運(yùn)行不起來。
邊緣容器的目的就是通過解決Kubernetes所有不適應(yīng)邊緣計(jì)算場景的點(diǎn),實(shí)現(xiàn)使用集中式的Kubernetes來管理分散的邊緣設(shè)備。
邊緣容器也遇到了挑戰(zhàn)
通常來說,為了管理上的方便集群控制中心都是集中式設(shè)計(jì)、部署在指定地區(qū),或者為了保障高可用有選擇性地部署在某幾個(gè)地區(qū)。目前較常見情況是控制中心部署在云廠商云端中心機(jī)房(公有云)或者用戶中心機(jī)房(私有云);邊緣設(shè)備位于邊緣云機(jī)房、移動邊緣站點(diǎn)、用戶現(xiàn)場設(shè)備。
為了讓Kubernetes更好地用于邊緣計(jì)算場景,我們有必要整理出邊緣計(jì)算場景的主要特性:
?云邊弱網(wǎng)絡(luò)。控制中心和邊緣設(shè)備之間網(wǎng)絡(luò)較復(fù)雜,因特網(wǎng)、以太網(wǎng)、5G、WIFI等形態(tài)均有可能,網(wǎng)絡(luò)質(zhì)量差次不齊沒有保障。
?邊緣設(shè)備之間網(wǎng)絡(luò)情況復(fù)雜。邊緣設(shè)備之間有可能是局域網(wǎng),也有可能位于不同的地區(qū)、相互不通。
?邊緣設(shè)備資源緊張。相對而言,邊緣計(jì)算設(shè)備從邊緣云、移動邊緣站點(diǎn)、用戶現(xiàn)場設(shè)備,單個(gè)設(shè)備的硬件資源逐漸變少。其中用戶現(xiàn)場單設(shè)備內(nèi)存有可能不到1G。
?邊緣服務(wù)管理要求復(fù)雜。在中心云機(jī)房,應(yīng)用可以根據(jù)節(jié)點(diǎn)資源擇優(yōu)部署;而在邊緣場景,應(yīng)用部署需要考慮網(wǎng)絡(luò)和地域等屬性。
1分鐘講述管理邊緣容器的方案
業(yè)界目前有多種邊緣容器管理的解決方案,騰訊云針對私有云和公有云分別推出tinykube和TKE edge。這里主要介紹公有云TKE@edge整套方案致力于保持對原生Kubernetes功能及其生態(tài)完全兼容、以盡量少的改動達(dá)到讓原生Kubernetes支持邊緣計(jì)算場景的目標(biāo)。
整體架構(gòu)如下:
TKE@edge整體是云端管控架構(gòu),Master位于中心,邊緣節(jié)點(diǎn)全部是worker節(jié)點(diǎn)。云邊引入tunnel和hub兩個(gè)通信組件,支持身份認(rèn)證和數(shù)據(jù)加密;云端引入兩個(gè)自研的Controller:serviceGroup-Controller、observer-Controller;邊端引入store和observer;用戶集群master組件運(yùn)行在云端metacluster基礎(chǔ)集群,用戶集群數(shù)據(jù)統(tǒng)一保存在云端Etcd集群;使用者可通過TKE edge控制臺或者在本地使用kubectl工具直接管理自己的集群,也可以基于TKE edge之上二次開發(fā)管理平臺。
TKE@egde解決了邊緣容器什么問題
?云邊弱網(wǎng)絡(luò)。hub組件的核心作用是解決邊到云弱網(wǎng)絡(luò)問題,該組件代理了邊緣節(jié)點(diǎn)上所有核心組件向apiserver發(fā)起的請求,并且將關(guān)鍵數(shù)據(jù)持久化保存在本地。當(dāng)云邊網(wǎng)絡(luò)異常時(shí),節(jié)點(diǎn)側(cè)依然可以使用這些數(shù)據(jù),避免因云邊弱網(wǎng)絡(luò)原因引起業(yè)務(wù)異常。另外,邊緣弱網(wǎng)絡(luò)很容易觸發(fā)Kubernetes驅(qū)逐機(jī)制,引起不符合預(yù)期的Pod驅(qū)逐動作,TKE edge首創(chuàng)分布式健康檢測機(jī)制可以智能地識別驅(qū)逐時(shí)機(jī),保障系統(tǒng)在弱網(wǎng)絡(luò)下正常運(yùn)轉(zhuǎn)。
?邊緣設(shè)備之間網(wǎng)絡(luò)情況復(fù)雜。復(fù)雜性表現(xiàn)在一個(gè)集群內(nèi)的節(jié)點(diǎn)極可能分布在多個(gè)邊緣局域網(wǎng)內(nèi)(通常稱為節(jié)點(diǎn)或者站點(diǎn),site,為避免與Kubernetes集群中的節(jié)點(diǎn)一詞混淆,后面均稱站點(diǎn)),意味著同一站點(diǎn)內(nèi)的節(jié)點(diǎn)之間可達(dá),站點(diǎn)之間的節(jié)點(diǎn)之間通常不可達(dá),這會影響集群內(nèi)服務(wù)之間的調(diào)用。TKE edge首創(chuàng)serviceGroup資源,該資源支持用戶指定服務(wù)之間流量拓?fù)洳呗?,?shí)現(xiàn)按策略訪問。
?邊緣設(shè)備資源緊張。原生Kubernetes中主要是Master組件資源消耗較大,節(jié)點(diǎn)側(cè)資源消耗并不多。TKE edge采用云端管控架構(gòu),讓Master組件部署在資源豐富的中心側(cè),邊緣側(cè)只運(yùn)行kubelet、kube-proxy等資源消耗少的組件,邊緣側(cè)只需要較少資源即可滿足條件。
?邊緣服務(wù)管理要求復(fù)雜。集群內(nèi)包含多個(gè)站點(diǎn)時(shí),通常希望在每個(gè)站點(diǎn)部署一整套微服務(wù),理論上我們可以通過給每一個(gè)服務(wù)在每一個(gè)站點(diǎn)分配不同的名字來實(shí)現(xiàn)目的,實(shí)際上這么操作會帶來兩方面的問題:1)服務(wù)名太多難以管理;2)同一服務(wù)在不同站點(diǎn)名字不同,難以通過服務(wù)名訪問;3)當(dāng)增加或者撤銷站點(diǎn)時(shí)需要人工添加和刪除對應(yīng)的yaml,這無疑會帶來管理災(zāi)難。TKE edge首創(chuàng)serviceGroup能自動完成上述操作,大大降低管理困難。
TKE@edge閃閃發(fā)光的亮點(diǎn)
?serviceGroup。能解決邊緣設(shè)備之間網(wǎng)絡(luò)復(fù)雜及邊緣服務(wù)管理困難問題??蛻糁恍枰褂肧erviceGroup提供的DeploymentGrid和ServiceGrid兩種TKE edge自研的Kubernetes資源,即可一鍵將服務(wù)部署到所有邊緣站點(diǎn)中,同時(shí)還能保證服務(wù)在各站點(diǎn)的實(shí)例數(shù)量、提高應(yīng)用在每個(gè)站點(diǎn)的高可用。
?hub。實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)本地持久化,保障系統(tǒng)在弱網(wǎng)絡(luò)下正常運(yùn)轉(zhuǎn)。即使節(jié)點(diǎn)與Master斷網(wǎng)的情況下應(yīng)用也不受影響,并且可以做到節(jié)點(diǎn)重啟后應(yīng)用自動恢復(fù)。
?observer。分布式健康檢測機(jī)制,可以識別邊緣節(jié)點(diǎn)健康情況,智能識別應(yīng)用驅(qū)逐的時(shí)機(jī)。
?tunnel。云邊隧道機(jī)制,允許從云端登錄容器、查看日志、往容器上傳下載文件。對于無公網(wǎng)地址的設(shè)備,該功能可以明顯提升運(yùn)維效率。
?定制網(wǎng)絡(luò)組件。站點(diǎn)整體與云端失聯(lián)情況下服務(wù)正常運(yùn)行,并且允許邊緣節(jié)點(diǎn)發(fā)生重啟。
高可用
?Master組件。托管于騰訊云有SLA保證、并且有騰訊云TKE團(tuán)隊(duì)運(yùn)維;Master組件支持自動擴(kuò)縮容,可根據(jù)集群壓力自動調(diào)整實(shí)例數(shù)量,以滿足業(yè)務(wù)需求。
?邊緣節(jié)點(diǎn)和站點(diǎn)。目前可以做到邊緣端運(yùn)行微服務(wù)時(shí),邊緣站點(diǎn)整體與管控端掉線的情況下業(yè)務(wù)不受影響,掉線期間允許計(jì)算資源發(fā)生重啟。
?業(yè)務(wù)應(yīng)用。保證站點(diǎn)內(nèi)業(yè)務(wù)Pod可用數(shù)量,支持一個(gè)服務(wù)在同一節(jié)點(diǎn)上運(yùn)行多個(gè)Pod。
易用性
?監(jiān)控告警。支持集群和Pod級監(jiān)控告警,維度包括CPU、內(nèi)存、網(wǎng)絡(luò),告警方式有電話、短信、微信、郵件
?邊緣資源管理。一鍵添加、刪除邊緣節(jié)點(diǎn)(限騰訊云邊緣計(jì)算資源)
?應(yīng)用管理。一鍵部署、更新、刪除應(yīng)用,Helm應(yīng)用打包管理(規(guī)劃中)
?界面化操作。目前集群管理、節(jié)點(diǎn)管理、Workload和常用Kubernetes資源管理、日志和事件查詢等均可以通過Web界面完成,大大降低使用門檻。(產(chǎn)品目前是白名單開放,使用前請?jiān)隍v訊云官網(wǎng)上申請加白名單)
?CICD。支持使用藍(lán)盾,支持Coding系統(tǒng)(規(guī)劃中)
幫扶運(yùn)維
?云端登錄邊緣應(yīng)用容器內(nèi)部,云端往/從容器內(nèi)部傳輸文件
?云端查看業(yè)務(wù)日志、事件
?應(yīng)用日志采集(規(guī)劃中)
結(jié)束語
邊緣容器是一個(gè)非常新的方向,充滿了困難和機(jī)會,TKE edge也還在不斷探索,對邊緣計(jì)算和邊緣容器感興趣或有好的想法建議,趕緊加群吧。
希望同樣對邊緣計(jì)算感興趣的你與我們一起在邊緣計(jì)算的浪潮中成長,不是后浪,也不是前浪,就做弄潮兒。