如何通過華為云云原生服務(wù)中心極速搭建全量KubeEdge生態(tài)組件
來源微信公眾號(hào):容器魔方
KubeEdge項(xiàng)目是華為云開源的一個(gè)基于Kubernetes構(gòu)建的開放邊緣計(jì)算平臺(tái),實(shí)現(xiàn)邊云之間的應(yīng)用管理與部署,跨邊云的通信,以及跨邊云的南向外設(shè)管理等基礎(chǔ)能力。
KubeEdge整體發(fā)展至今具以下生態(tài):
1.邊云服務(wù)協(xié)同:基于EdgeMesh框架為應(yīng)用程序提供了跨邊云的服務(wù)發(fā)現(xiàn)與流量代理功能,從而屏蔽了邊緣場(chǎng)景下復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)。
2.邊云 AI 協(xié)同架構(gòu)(Sedna):基于開源 sedna 框架,提供基礎(chǔ)的邊云協(xié)同推理、聯(lián)邦學(xué)習(xí)、增量學(xué)習(xí)等能力, 并實(shí)現(xiàn)了基礎(chǔ)的模型管理、數(shù)據(jù)集管理等,使能開發(fā)者快速開發(fā)邊云 AI 協(xié)同特性,以及提升用戶邊云 AI 特性的 訓(xùn)練與部署效率。
KubeEdge生態(tài)未來還將提供:
1.邊緣南向服務(wù):南向接入 Mapper,提供外設(shè) Pofile 及解析機(jī)制,以及實(shí)現(xiàn)對(duì)不同南向外設(shè)的管理、控制、 業(yè)務(wù)流的接入,可兼容 EdgeX Foundry 開源生態(tài)。
2.邊緣數(shù)據(jù)服務(wù):通過邊緣數(shù)據(jù)服務(wù)實(shí)現(xiàn)消息、數(shù)據(jù)、媒體流的按需持久化,并具備數(shù)據(jù)分析和數(shù)據(jù)導(dǎo)出的能力。
本文指導(dǎo)用戶如何通過華為云云原生服務(wù)中心(OSC)以及華為云云原生容器引擎(CCE),以一種更加高效、穩(wěn)定的方法搭建KubeEdge集群及其全量生態(tài)組件。
華為云云原生服務(wù)中心介紹
華為云云原生服務(wù)中心(Operator Service Center,OSC)是面向服務(wù)提供商和服務(wù)使用者的云原生服務(wù)生命周期治理平臺(tái),提供大量開箱即用的云原生服務(wù),支持服務(wù)的開發(fā)、發(fā)布、訂閱、部署、升級(jí)、更新等,幫助用戶簡(jiǎn)化云原生服務(wù)的生命周期管理。云原生服務(wù)中心目前已經(jīng)具備了海量的熱門服務(wù),分類包括有AI/機(jī)器學(xué)習(xí)、應(yīng)用運(yùn)行時(shí)、大數(shù)據(jù)、數(shù)據(jù)庫、監(jiān)控、安全、流媒體&消息、集成交付、日志、開發(fā)工具、網(wǎng)絡(luò)、邊緣計(jì)算等。
更多關(guān)于云原生服務(wù)中心的信息和使用者指南可以參考:https://support.huaweicloud.com/usermanual-osc/osc_su_0001.html
01 部署流程指導(dǎo)
部署流程導(dǎo)航圖如下所示:
02 開始實(shí)踐
1.創(chuàng)建CCE集群
1.1購買一個(gè)華為云CCE集群
進(jìn)入CCE控制臺(tái):https://console.huaweicloud.com/cce2.0,點(diǎn)擊右上角購買Kubernetes集群按鈕:
1.2購買(至少一個(gè))CCE節(jié)點(diǎn)
進(jìn)入CCE控制面板的資源管理-節(jié)點(diǎn)管理中,點(diǎn)擊右上角購買節(jié)點(diǎn)按鈕:
1.3為(至少一個(gè))CCE節(jié)點(diǎn)配置公網(wǎng)IP
進(jìn)入ECS控制臺(tái):https://console.huaweicloud.com/ecm,為剛剛購買的節(jié)點(diǎn)配置一個(gè)公網(wǎng)EIP:
此外還需要配置此節(jié)點(diǎn)的安全組,確保節(jié)點(diǎn)的10000、10002、20004、20006端口能夠被邊緣節(jié)點(diǎn)訪問到。
2.搭建KubeEdge環(huán)境
2.1.1進(jìn)入華為云OSC服務(wù)目錄界面、訂閱Cloudcore服務(wù)
進(jìn)入OSC控制臺(tái):https://console.huaweicloud.com/osc,在服務(wù)目錄中搜索并訂閱KubeEdge-Cloudcore服務(wù)。
2.1.2創(chuàng)建Cloudcore實(shí)例
訂閱后,點(diǎn)擊創(chuàng)建實(shí)例并按照安裝指南部署Cloudcore。
2.2納管(至少一個(gè))邊緣節(jié)點(diǎn)
2.2.1在邊緣節(jié)點(diǎn)上安裝keadm工具
可以從https://github.com/kubeedge/kubeedge/releases下載keadm工具包。
2.2.2從CCE獲取邊緣節(jié)點(diǎn)準(zhǔn)入token
進(jìn)入CCE新版界面:
選中之前創(chuàng)建的CCE集群后點(diǎn)擊CloudShell按鈕:
進(jìn)入CloudShell交互式終端命令行后,可以使用kubectl get secret -nkubeedge tokensecret -o=jsonpath='{.data.tokendata}' | base64 -d命令獲取邊緣節(jié)點(diǎn)的準(zhǔn)入token:
用keadm join納管邊緣節(jié)點(diǎn)
納管完邊緣節(jié)點(diǎn)后,還需根據(jù)edgemesh文檔(https://edgemesh.netlify.app/guide/getting-started.html#manual-installation)對(duì)edgecore.yaml進(jìn)行配置。
3.部署Edgemesh服務(wù)
進(jìn)入華為云OSC服務(wù)目錄界面、訂閱Edgemesh服務(wù)。與步驟2.1相同,訂閱Edgemesh服務(wù)后根據(jù)安裝指南安裝Edgemesh服務(wù):
4.部署Sedna服務(wù)
進(jìn)入華為云OSC服務(wù)目錄界面、訂閱Sedna服務(wù)。與步驟2.1相同,訂閱Sedna服務(wù)后根據(jù)安裝指南安裝Sedna服務(wù):
運(yùn)行Sedna云邊協(xié)同推理Demo
本節(jié)主要參考Sedna的官方示例-大小模型協(xié)同推理,可以參考文檔:
1.準(zhǔn)備數(shù)據(jù)、大小模型文件
邊緣端節(jié)點(diǎn)需下載小模型文件,文件鏈接:https://kubeedge.obs.cn-north-1.myhuaweicloud.com/examples/helmet-detection-inference/little-model.tar.gz。此外,邊緣節(jié)點(diǎn)還需要安裝EasyDarwin、ffmpeg等工具,以及一個(gè)虛擬的mp4視頻流。
云端節(jié)點(diǎn)需下載大模型文件,文件鏈接:https://kubeedge.obs.cn-north-1.myhuaweicloud.com/examples/helmet-detection-inference/big-model.tar.gz
2.創(chuàng)建Sedna CRD資源
通過CCE的CloudShell交互式終端,可以方便的創(chuàng)建Sedna的自定義資源,比如Model、JointInferenceService、datasets、federatedlearningjobs、incrementallearningjobs等等。
創(chuàng)建大、小模型的CR:
創(chuàng)建協(xié)同推理服務(wù)的CR:
通過CloudShell創(chuàng)建完成后,我們可以在CCE的自定義資源看板中確認(rèn)我們的CR已經(jīng)創(chuàng)建完畢:
3.獲取推理結(jié)果
在推理容器運(yùn)行一段時(shí)間后我們可以在邊緣節(jié)點(diǎn)的/joint_inference/output中獲取大量的推理結(jié)果圖片,選取其中的兩張如下:
至此Sedna的協(xié)同推理示例已經(jīng)驗(yàn)證通過了。