騰訊WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)基于強(qiáng)大的數(shù)據(jù)、算力、算法與連接能力,并疊加上大量的工業(yè)Know-how,機(jī)理模型與OT技術(shù),搭建了一套強(qiáng)大的工業(yè)互聯(lián)網(wǎng)平臺(tái)架構(gòu)。應(yīng)用和數(shù)據(jù)是企業(yè)的核心資源,如何保證應(yīng)用和數(shù)據(jù)的可靠性、安全性是騰訊WeMake最關(guān)心的問(wèn)題之一。出于安全考慮,多數(shù)用戶(hù)強(qiáng)調(diào)“數(shù)據(jù)落本地”,單靠數(shù)據(jù)中心難以滿(mǎn)足其需求。此外,隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,平臺(tái)中大量的智能終端位于網(wǎng)絡(luò)邊緣,集中計(jì)算模式不能滿(mǎn)足所有應(yīng)用場(chǎng)景。基于以上問(wèn)題,騰訊WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)選用了邊緣容器打造了一套安全高效的工業(yè)互聯(lián)網(wǎng)平臺(tái)。
01
什么是邊緣計(jì)算
根據(jù)邊緣計(jì)算產(chǎn)業(yè)聯(lián)盟的定義,邊緣計(jì)算是在靠近物或數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣側(cè),融合網(wǎng)絡(luò)、計(jì)算、存儲(chǔ)、應(yīng)用核心能力的開(kāi)放平臺(tái),就近提供邊緣智能服務(wù),滿(mǎn)足行業(yè)在敏捷聯(lián)接、實(shí)時(shí)業(yè)務(wù)、數(shù)據(jù)優(yōu)化、應(yīng)用智能、安全與隱私保護(hù)等方面的關(guān)鍵需求。邊緣計(jì)算將計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)、帶寬等能力從云延伸到網(wǎng)絡(luò)邊緣的新型架構(gòu)模式,其能效友好、帶寬充足、延遲低等特性很好地補(bǔ)充了集中化計(jì)算模式遇到的問(wèn)題。目前邊緣計(jì)算研究領(lǐng)域主要集中在:計(jì)算模型、體系結(jié)構(gòu)、信息安全等方面。
邊緣計(jì)算示意圖
02
騰訊WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)如何使用TKE Edge邊緣容器服務(wù)?
01 什么是TKE Edge?
TKE Edge是騰訊自研的云原生邊緣計(jì)算平臺(tái),它將Kubernetes強(qiáng)大的容器管理能力擴(kuò)展到邊緣計(jì)算場(chǎng)景中,針對(duì)邊緣計(jì)算場(chǎng)景中常見(jiàn)的技術(shù)挑戰(zhàn)提供了解決方案,如:?jiǎn)渭汗?jié)點(diǎn)跨地域、云邊網(wǎng)絡(luò)不可靠、邊緣節(jié)點(diǎn)位于NAT網(wǎng)絡(luò)等。這些能力可以讓?xiě)?yīng)用很容易地部署到邊緣計(jì)算節(jié)點(diǎn)上,并且可靠地運(yùn)行。TKE Edge的核心能力包括:
·支持原生Kubernetes:
無(wú)侵入擴(kuò)展原生Kubernetes,添加邊緣計(jì)算相關(guān)組件。支持Kubernetes原生工作負(fù)載(Deployment,Statefulset,Daemenest等);
·邊緣自治:
穩(wěn)定的邊緣端服務(wù)。當(dāng)邊端節(jié)點(diǎn)與云端網(wǎng)絡(luò)不穩(wěn)定或者斷連時(shí),邊緣節(jié)點(diǎn)依舊可以正常運(yùn)行,不影響已經(jīng)部署的邊緣服務(wù);
·分布式健康檢查:
增強(qiáng)邊緣節(jié)點(diǎn)穩(wěn)定性。根據(jù)自定分組或網(wǎng)絡(luò)拓?fù)鋵?duì)邊緣節(jié)點(diǎn)進(jìn)行分組,由組內(nèi)邊緣節(jié)點(diǎn)進(jìn)行健康檢查及狀態(tài)投票;
·服務(wù)訪(fǎng)問(wèn)控制:
提供基于邊緣區(qū)域的服務(wù)訪(fǎng)問(wèn)控制,使得各個(gè)容器服務(wù)間的請(qǐng)求在本機(jī)房或本地域內(nèi)部即可完成(閉環(huán)),避免了服務(wù)跨地域訪(fǎng)問(wèn);
·云邊隧道:
支持自建隧道(目前支持TCP,HTTP and HTTPS)打通不同網(wǎng)絡(luò)環(huán)境下的云邊連接問(wèn)題,實(shí)現(xiàn)對(duì)無(wú)公網(wǎng)IP邊緣節(jié)點(diǎn)的統(tǒng)一操作和維護(hù)。
TKE Edge架構(gòu)圖
02 騰訊WeMake使用TKE Edge的實(shí)踐
由于技術(shù)架構(gòu)的天然吻合,騰訊WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)在TKE Edge項(xiàng)目創(chuàng)立之初,就選擇了其作為邊緣管控平臺(tái)。通過(guò)使用TKE Edge,將平臺(tái)數(shù)據(jù)落到客戶(hù)機(jī)房,就近落地,實(shí)現(xiàn)了將客戶(hù)數(shù)據(jù)本地化落地和低時(shí)延等需求。騰訊WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)的Master組件部署在云端,在客戶(hù)機(jī)房只需要部署少量的邊緣組件。
在傳統(tǒng)的方式下,對(duì)私有化產(chǎn)品進(jìn)行升級(jí)時(shí)首先需要獲得客戶(hù)授權(quán),運(yùn)維人員需要建立VPN連接,SSH過(guò)去,然后下載鏡像,最后再部署驗(yàn)證,步驟繁多且周期較長(zhǎng)。而在使用TKE Edge后,客戶(hù)授權(quán)的研發(fā)人員只需在騰訊云Master端頁(yè)面下拉選擇升級(jí)一個(gè)版本號(hào),既可自動(dòng)對(duì)Kubernetes集群和WeMake管理組件進(jìn)行滾動(dòng)升級(jí),極大地提高了運(yùn)維效率,為以制造業(yè)為例的企業(yè)實(shí)現(xiàn)了降本增效,達(dá)到了節(jié)省成本的目的。
騰訊WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)架構(gòu)圖
TKE Edge提供了一種無(wú)入侵的方式,給原生Kubernetes集群“賦予”邊緣能力。在工業(yè)云場(chǎng)景下:
·云端跟邊緣端均是通過(guò)公網(wǎng)連接,網(wǎng)絡(luò)質(zhì)量不可控,云邊弱網(wǎng)或斷網(wǎng)是一種常態(tài)而不是異常,需要穩(wěn)定的支持。因此,邊緣節(jié)點(diǎn)自治是邊緣計(jì)算的一個(gè)核心能力。TKE Edge的lite-apiserver是運(yùn)行在邊緣節(jié)點(diǎn)的網(wǎng)關(guān),節(jié)點(diǎn)上所有的Kubernetes組件和業(yè)務(wù)容器都通過(guò)lite-apiserver訪(fǎng)問(wèn)云端的kube-apiserver,由lite-apiserver對(duì)訪(fǎng)問(wèn)結(jié)果進(jìn)行高效緩存。在云邊斷連的情況下,利用這些緩存對(duì)Kubernetes組件和業(yè)務(wù)容器提供服務(wù),達(dá)到邊緣自治的目的。這個(gè)特性大大降低了WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)對(duì)穩(wěn)定網(wǎng)絡(luò)質(zhì)量的依賴(lài),給業(yè)務(wù)的開(kāi)發(fā)和部署帶來(lái)極大的便利。
·在原生Kubernetes集群中,如果節(jié)點(diǎn)與master組件長(zhǎng)時(shí)間斷連,master組件會(huì)對(duì)該節(jié)點(diǎn)上的業(yè)務(wù)容器進(jìn)行驅(qū)逐。但在邊緣計(jì)算場(chǎng)景中,邊緣節(jié)點(diǎn)與云端斷連是一種比較普遍的現(xiàn)象,原有的Kubernetes機(jī)制會(huì)導(dǎo)致業(yè)務(wù)容器頻繁重啟和遷移,影響業(yè)務(wù)的用戶(hù)體驗(yàn)。TKE Edge業(yè)內(nèi)首創(chuàng)edge-health分布式節(jié)點(diǎn)健康檢查機(jī)制,同一個(gè)區(qū)域內(nèi)的節(jié)點(diǎn)互相探測(cè)打分來(lái)判斷節(jié)點(diǎn)是否存活,以更加準(zhǔn)確的判斷節(jié)點(diǎn)運(yùn)行狀態(tài)。如果邊緣節(jié)點(diǎn)與云端斷連,但edge-health判斷該節(jié)點(diǎn)運(yùn)行正常,運(yùn)行中的業(yè)務(wù)容器則不會(huì)被驅(qū)逐,也沒(méi)有新的業(yè)務(wù)容器調(diào)度到該節(jié)點(diǎn)上。有了這種分布式節(jié)點(diǎn)健康檢查機(jī)制,WeMake的業(yè)務(wù)容器不會(huì)因?yàn)楣?jié)點(diǎn)的網(wǎng)絡(luò)問(wèn)題頻繁遷移,能夠提供長(zhǎng)期穩(wěn)定的服務(wù)。
·在云邊協(xié)同的網(wǎng)絡(luò)環(huán)境下,云端的Kubernetes Master組件往往無(wú)法直接訪(fǎng)問(wèn)邊緣節(jié)點(diǎn)。TKE Edge提供了Tunnel打通了云-邊通道,給邊緣容器集群提供Kubernetes原生的運(yùn)維和管理能力(kubectl logs,kubectl exec,監(jiān)控)。WeMake在開(kāi)發(fā)、運(yùn)維過(guò)程中,都可以通過(guò)Tunnel在云端查看業(yè)務(wù)容器日志、獲取監(jiān)控Metric等。
03
騰訊WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)如何使用TCR實(shí)現(xiàn)容器鏡像加速分發(fā)?
01 什么是容器鏡像服務(wù)TCR?
TCR是騰訊云面向企業(yè)級(jí)客戶(hù)推出的獨(dú)享云原生制品托管服務(wù),兼容容器鏡像及Helm Chart,提供全球多地域極速同步能力,同時(shí)基于自研P2P共享和鏡像按需掛載技術(shù),為大規(guī)模容器集群提供了鏡像極速下載,海量容器秒級(jí)啟動(dòng)能力,保障企業(yè)業(yè)務(wù)快速穩(wěn)定迭代。
02 邊緣場(chǎng)景下的鏡像加速
在WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)的邊緣計(jì)算場(chǎng)景下,大量的容器副本和超GB級(jí)別的容器需要被分發(fā)到不同區(qū)域的邊緣節(jié)點(diǎn)當(dāng)中,會(huì)耗費(fèi)大量的時(shí)間及公網(wǎng)的流量。為了提升在邊緣計(jì)算場(chǎng)景下的容器鏡像發(fā)布的效率、縮減應(yīng)用啟動(dòng)中鏡像下載的時(shí)間,騰訊WeMake工業(yè)互聯(lián)網(wǎng)平臺(tái)使用了TKE Edge及企業(yè)級(jí)鏡像倉(cāng)庫(kù)服務(wù)TCR聯(lián)合提供的P2P鏡像加速能力。該方案于每個(gè)邊緣站點(diǎn)創(chuàng)建了一個(gè)P2P網(wǎng)絡(luò),邊緣站點(diǎn)只需從云端鏡像倉(cāng)庫(kù)拉取一份鏡像,由Proxy和Tracker分別作為該P(yáng)2P網(wǎng)絡(luò)的種子節(jié)點(diǎn)和下載管控,并在每個(gè)邊緣節(jié)點(diǎn)部署Agent作為P2P網(wǎng)絡(luò)中的Peer來(lái)實(shí)現(xiàn)邊緣站點(diǎn)內(nèi)的鏡像分發(fā)。通過(guò)這個(gè)方式,鏡像下載的公網(wǎng)流量縮減為原來(lái)的1/N,鏡像的下載耗時(shí)縮短50%。
邊緣站點(diǎn)示意圖
04
結(jié)語(yǔ)
騰訊Wemake工業(yè)互聯(lián)網(wǎng)平臺(tái)以騰訊自研的TKE Edge、鏡像加速、大數(shù)據(jù)、IoT、安全等技術(shù)為底座,開(kāi)放騰訊二十余年積累的數(shù)字技術(shù)能力,推出面向“研、產(chǎn)、供、銷(xiāo)、服”五大領(lǐng)域的行業(yè)解決方案與服務(wù),為制造業(yè)數(shù)字化轉(zhuǎn)型提供澎湃動(dòng)能。