摘要:高校傳統(tǒng)物理機(jī)房實(shí)訓(xùn)教學(xué)存在資源利用率低、操作系統(tǒng)環(huán)境固化、實(shí)訓(xùn)時(shí)間和場(chǎng)所安排不靈活等問題。為解決這些問題,文章提出了一種基于Kubernetes云容器技術(shù)的云端虛擬實(shí)訓(xùn)平臺(tái)解決方案。該方案采用Docker容器作為載體,利用Kubernetes進(jìn)行容器編排,結(jié)合Metrics-Server實(shí)現(xiàn)資源監(jiān)控,使用KubeSphere管理集群。平臺(tái)在資源管理方面實(shí)現(xiàn)了計(jì)算資源的高度集群化和無感知擴(kuò)容;在實(shí)訓(xùn)教學(xué)方面,支持通過KubernetesClients在線創(chuàng)建輕量級(jí)Docker實(shí)例,接入DockerHub市場(chǎng),支持主流操作系統(tǒng)鏡像。實(shí)驗(yàn)結(jié)果表明,該平臺(tái)提高了資源利用率,增強(qiáng)了實(shí)訓(xùn)教學(xué)的靈活性和便利性,為高校實(shí)訓(xùn)教學(xué)全流程管理提供了企業(yè)級(jí)解決方案。
關(guān)鍵詞:Kubernetes技術(shù);Docker容器;資源集群化;虛擬化技術(shù);云計(jì)算;實(shí)訓(xùn)教學(xué)
中圖分類號(hào):TN945.2文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2025)20-0072-03
0引言
在高校實(shí)訓(xùn)教學(xué)中,傳統(tǒng)物理機(jī)房實(shí)驗(yàn)室面臨著幾個(gè)挑戰(zhàn):物理資源利用率低、操作系統(tǒng)環(huán)境固定、實(shí)訓(xùn)時(shí)間和地點(diǎn)安排缺乏靈活性。為了應(yīng)對(duì)這些問題,線上線下融合式教學(xué)模式正逐漸成為高校教學(xué)改革的研究方向[1]。隨著云計(jì)算和虛擬化技術(shù)的快速發(fā)展,Docker容器技術(shù)作為一種輕量級(jí)的操作系統(tǒng)層面虛擬化技術(shù),能夠?yàn)檐浖?yīng)用及其依賴組件提供獨(dú)立的運(yùn)行環(huán)境,這種輕量級(jí)的優(yōu)勢(shì)使得Docker在商業(yè)[2-5]、教育[6-10]、科研[11-13]等領(lǐng)域越來越受到重視和歡迎。同時(shí),Kubernetes(簡(jiǎn)稱K8S)已經(jīng)成為容器編排領(lǐng)域的事實(shí)標(biāo)準(zhǔn)[11],進(jìn)一步推動(dòng)了這一技術(shù)的發(fā)展和應(yīng)用。
1平臺(tái)研究的背景及意義
近年來,Kubernetes(K8S)和Docker技術(shù)在教育領(lǐng)域的應(yīng)用研究取得了豐碩成果。例如,李玉榮、梁桂才[6]提出了基于GPU虛擬化的人工智能教學(xué)平臺(tái)方案,聚焦于K8S的集群部署和服務(wù)配置;李磊[8]提供了在CentOS操作系統(tǒng)中安裝Docker及搭建私有倉庫和配置鏡像的實(shí)踐指導(dǎo);周強(qiáng)、歐文吉斯[10]在設(shè)計(jì)基于Docker的實(shí)訓(xùn)教學(xué)平臺(tái)時(shí),注重平臺(tái)的高可用性和監(jiān)控管理。然而,現(xiàn)有研究多集中在K8S和Docker技術(shù)的集群部署或某一方面應(yīng)用,缺乏從零開始搭建完整的基于K8S和Docker技術(shù)的實(shí)訓(xùn)教學(xué)平臺(tái)的案例,尤其在持續(xù)監(jiān)控和擴(kuò)容物理計(jì)算資源集群方面的解決方案。
因此,本文從系統(tǒng)思維的角度出發(fā),設(shè)計(jì)了一種基于Kubernetes技術(shù)的高校實(shí)訓(xùn)教學(xué)平臺(tái),全面考慮了資源優(yōu)化、靈活性、穩(wěn)定性和可持續(xù)性等關(guān)鍵因素,并通過實(shí)際設(shè)計(jì)實(shí)踐驗(yàn)證其可行性和有效性。這不僅填補(bǔ)了現(xiàn)有研究的空白,也為高校實(shí)訓(xùn)教學(xué)平臺(tái)的構(gòu)建提供了寶貴的參考。
2平臺(tái)的設(shè)計(jì)方案
2.1設(shè)計(jì)原則
為解決傳統(tǒng)物理機(jī)房實(shí)驗(yàn)室存在的資源浪費(fèi)、實(shí)訓(xùn)OS環(huán)境固化、實(shí)訓(xùn)時(shí)間不靈活等問題,本平臺(tái)設(shè)計(jì)遵循以下原則。
2.1.1資源優(yōu)化與節(jié)能設(shè)計(jì)原則
平臺(tái)采用輕量化容器技術(shù)Docker,憑借其快速啟動(dòng)和低資源占用的特性,有效降低計(jì)算資源消耗,減少能耗。結(jié)合高效的容器編排控制器Kubernetes,動(dòng)態(tài)創(chuàng)建實(shí)訓(xùn)實(shí)例,實(shí)現(xiàn)對(duì)容器的高效管理和調(diào)度,促進(jìn)資源共享與最大化利用,避免資源閑置,進(jìn)一步降低系統(tǒng)整體能耗。
2.1.2靈活性與易用性原則
整合DockerHub市場(chǎng)資源,為學(xué)生提供豐富多樣的實(shí)驗(yàn)環(huán)境和工具,使其無須花費(fèi)大量時(shí)間在環(huán)境安裝上,實(shí)現(xiàn)開箱即用。此外,通過引入隊(duì)列算法和Re?dis數(shù)據(jù)存儲(chǔ),支持學(xué)生在任意時(shí)間和地點(diǎn)進(jìn)行實(shí)訓(xùn),提升學(xué)習(xí)效率和使用體驗(yàn)。
2.1.3穩(wěn)定性與高可用性原則
平臺(tái)須提供穩(wěn)定且持續(xù)的服務(wù)。各服務(wù)模塊的健康狀態(tài)可感知和維護(hù),確保在底層物理節(jié)點(diǎn)出現(xiàn)故障時(shí),相關(guān)Docker實(shí)例能迅速遷移至正常節(jié)點(diǎn),避免影響學(xué)生使用。同時(shí),及時(shí)剔除問題節(jié)點(diǎn),確保新增服務(wù)的正常運(yùn)行。
2.1.4可持續(xù)性原則
包括資源和平臺(tái)的可持續(xù)性。實(shí)訓(xùn)平臺(tái)上的Docker實(shí)例依賴的物理計(jì)算資源設(shè)有使用率閾值告警機(jī)制,資源不足時(shí),管理員可在后臺(tái)進(jìn)行無感知的物理資源節(jié)點(diǎn)擴(kuò)容。同時(shí),平臺(tái)支持無運(yùn)維窗口的灰度發(fā)布,實(shí)現(xiàn)版本迭代更新。
2.2架構(gòu)設(shè)計(jì)
為了滿足上述設(shè)計(jì)原則,結(jié)合實(shí)訓(xùn)教學(xué)平臺(tái)的用戶角色分析,本文提出了如圖1所示的系統(tǒng)架構(gòu)。系統(tǒng)架構(gòu)采用微服務(wù)架構(gòu),各子模塊功能如下。
云計(jì)算教學(xué)服務(wù)系統(tǒng):面向教師和學(xué)生用戶,負(fù)責(zé)實(shí)訓(xùn)教學(xué)過程管理,包括課程管理、作業(yè)管理、實(shí)訓(xùn)管理和教學(xué)資料管理等功能。教學(xué)服務(wù)后臺(tái)管理系統(tǒng):面向系統(tǒng)管理員,支持平臺(tái)用戶和高校賬號(hào)信息的維護(hù)與管理,以及系統(tǒng)參數(shù)的配置。K8S平臺(tái)和DevOps部署交付模塊:負(fù)責(zé)物理計(jì)算資源的集群管理和持續(xù)部署,確保平臺(tái)的高可用性和自動(dòng)化運(yùn)維。
圖1顯示了系統(tǒng)各模塊的交互關(guān)系和數(shù)據(jù)流向,確保各部分協(xié)調(diào)工作,實(shí)現(xiàn)資源的高效利用和實(shí)訓(xùn)教學(xué)的靈活管理。
2.3技術(shù)路線與技術(shù)選型
為了實(shí)現(xiàn)上述平臺(tái)系統(tǒng)架構(gòu),本案例一共分為三個(gè)端來支撐本平臺(tái)的技術(shù)路線,并給出技術(shù)選型依據(jù)。
2.3.1技術(shù)路線
平臺(tái)技術(shù)路線分為三個(gè)層面。
前端:采用Vue3、ElementPlus、Vite、TypeScript、vue-router、Pinia和xterm,實(shí)現(xiàn)用戶界面和交互功能。
后端:基于SpringCloud、Redis、MySQL、DockerClient和KubernetesClients,構(gòu)建微服務(wù)架構(gòu),支持?jǐn)?shù)據(jù)管理與服務(wù)編排。
云端:利用Git、Docker、Kubernetes、KubeSphere、Metrics-Server、Helm和DevOps技術(shù),實(shí)現(xiàn)代碼管理、容器編排、資源監(jiān)控和持續(xù)集成/持續(xù)部署(CI/CD)。
2.3.2技術(shù)選型
鑒于前端和后端相對(duì)簡(jiǎn)單,本文重點(diǎn)介紹云端及K8S平臺(tái)端的技術(shù)設(shè)計(jì)方案。
1)云端設(shè)計(jì)。云端通過Docker官方提供的DockerClient實(shí)現(xiàn)Spring工程鏡像的拉取,利用Ku?bernetesClients創(chuàng)建Pod和Namespace資源。為監(jiān)控Pod狀態(tài),結(jié)合Metrics-Server封裝自定義API請(qǐng)求,實(shí)時(shí)監(jiān)控集群中Pod的狀態(tài)、鏡像狀態(tài)及應(yīng)用狀態(tài),并在發(fā)生錯(cuò)誤時(shí)提供相應(yīng)的錯(cuò)誤提示,確保系統(tǒng)穩(wěn)定運(yùn)行。
2)K8S平臺(tái)端設(shè)計(jì)。Kubernetes云平臺(tái)采用多主多工作節(jié)點(diǎn)架構(gòu),主節(jié)點(diǎn)部署APIServer、Scheduler、ControllerManager、etcd、kube-proxy等核心組件及KubeSphere運(yùn)行組件。工作節(jié)點(diǎn)部署項(xiàng)目所需的中間件和微服務(wù),包括:網(wǎng)關(guān)模塊:處理API請(qǐng)求代理、服務(wù)發(fā)現(xiàn)、請(qǐng)求攔截、限流和流量監(jiān)控。后臺(tái)管理前端模塊:支持快速啟動(dòng)和熱更新的后臺(tái)管理系統(tǒng)前端。云教育前端模塊:提供課程、作業(yè)、資源和實(shí)訓(xùn)等功能的用戶界面。系統(tǒng)服務(wù)模塊:后臺(tái)管理系統(tǒng)的核心,提供服務(wù)、接口和任務(wù)管理。云計(jì)算教學(xué)服務(wù)系統(tǒng)模塊:實(shí)現(xiàn)課程、作業(yè)、資源和實(shí)訓(xùn)等功能的后端服務(wù)。認(rèn)證授權(quán)模塊:用戶認(rèn)證與授權(quán),限制異常請(qǐng)求,防止系統(tǒng)攻擊。監(jiān)控模塊:實(shí)時(shí)監(jiān)測(cè)微服務(wù)狀態(tài),提供錯(cuò)誤警報(bào)和日志收集。
定時(shí)模塊:管理微服務(wù)的定時(shí)任務(wù),確保服務(wù)器宕機(jī)后能正確重建。文件模塊:管理文件的上傳和下載,確保不影響其他微服務(wù)運(yùn)行。配置中心模塊:使用Nacos進(jìn)行統(tǒng)一配置管理和服務(wù)發(fā)現(xiàn)集成。數(shù)據(jù)庫模塊:使用MySQL存儲(chǔ)關(guān)系型數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)持久化。NoSQL數(shù)據(jù)庫模塊:使用Redis存儲(chǔ)非關(guān)系型數(shù)據(jù),加速服務(wù)訪問。實(shí)訓(xùn)調(diào)用云算力:通過KubernetesClients調(diào)用K8SAPI,DockerClient調(diào)用DockerAPI,實(shí)現(xiàn)實(shí)訓(xùn)資源的動(dòng)態(tài)創(chuàng)建與管理。項(xiàng)目管理與CI/CD:利用KubeSphere的項(xiàng)目管理功能,結(jié)合DevOps技術(shù)實(shí)現(xiàn)自動(dòng)化流水線管理,簡(jiǎn)化部署流程,使用DockerRegistry保障微服務(wù)安全。云教育后臺(tái)通過這些模塊動(dòng)態(tài)調(diào)用云平臺(tái)功能。
3實(shí)訓(xùn)平臺(tái)的效果展示
圖2展示了實(shí)訓(xùn)資源的使用界面,學(xué)生可以通過簡(jiǎn)潔直觀的界面快速創(chuàng)建和管理Docker實(shí)例,選擇不同的操作系統(tǒng)鏡像進(jìn)行實(shí)訓(xùn)操作。
圖3展示了K8S平臺(tái)資源監(jiān)控概覽,實(shí)時(shí)顯示各節(jié)點(diǎn)和Pod的狀態(tài),幫助管理員及時(shí)發(fā)現(xiàn)并處理資源異常,確保實(shí)訓(xùn)平臺(tái)的穩(wěn)定運(yùn)行。通過這些效果展示,可以看出基于Kubernetes技術(shù)的云端虛擬實(shí)訓(xùn)平臺(tái)在資源管理、實(shí)訓(xùn)操作和系統(tǒng)監(jiān)控方面的優(yōu)秀表現(xiàn),大幅提升了實(shí)訓(xùn)教學(xué)的效率和靈活性。
4結(jié)束語
本文提出了一種基于Kubernetes云容器技術(shù)的云端虛擬實(shí)訓(xùn)平臺(tái)企業(yè)級(jí)解決方案,詳細(xì)闡述了方案設(shè)計(jì)的關(guān)鍵要素和技術(shù)實(shí)現(xiàn)細(xì)節(jié)。該方案有效解決了高校傳統(tǒng)物理實(shí)訓(xùn)機(jī)房資源利用率低、實(shí)訓(xùn)環(huán)境固化和實(shí)訓(xùn)安排不靈活等問題,提高了資源管理的優(yōu)化性和實(shí)訓(xùn)教學(xué)的靈活性與便利性。實(shí)驗(yàn)結(jié)果表明,平臺(tái)在資源集群化管理、虛擬實(shí)訓(xùn)環(huán)境創(chuàng)建及系統(tǒng)監(jiān)控方面表現(xiàn)優(yōu)異,具有顯著的實(shí)踐指導(dǎo)意義。
然而,本文在用戶功能需求分析和平臺(tái)性能評(píng)估方面尚不夠深入,未來研究將進(jìn)一步優(yōu)化用戶體驗(yàn),增強(qiáng)平臺(tái)的功能模塊,并進(jìn)行更全面的性能測(cè)試與評(píng)估。此外,還將探索該平臺(tái)在其他教育領(lǐng)域和不同規(guī)模高校的應(yīng)用潛力,推動(dòng)虛擬實(shí)訓(xùn)教學(xué)的發(fā)展。
參考文獻(xiàn):
[1]李慧春,梁楠,黃偉,等.基于Docker的計(jì)算機(jī)基礎(chǔ)實(shí)驗(yàn)在線環(huán)境建設(shè)[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2024,42(4):754-759.
[2]吳逸文,張洋,王濤,等.從Docker容器看容器技術(shù)的發(fā)展:一種系統(tǒng)文獻(xiàn)綜述的視角[J].軟件學(xué)報(bào),2023,34(12):5527-5551.
[3]薛濤,劉瀟瀟,紀(jì)佳琪.基于云計(jì)算虛擬化技術(shù)的旅游信息平臺(tái)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2022,45(1):176-180.
[4]金子威.基于K8S的Docker分布式容器自動(dòng)化運(yùn)維系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:中南民族大學(xué),2018.
[5]郭淼.基于容器與微服務(wù)的DevOps平臺(tái)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2024,20(27):52-55.
[6]李玉榮,梁桂才.基于GPU虛擬化的人工智能教學(xué)平臺(tái)的實(shí)現(xiàn)[J].信息技術(shù),2024(8):71-78.
[7]劉勇.基于云計(jì)算和虛擬化的網(wǎng)絡(luò)安全實(shí)驗(yàn)教學(xué)平臺(tái)建設(shè)研究[J].對(duì)外經(jīng)貿(mào),2024(7):89-92.
[8]李磊.Docker容器技術(shù)在構(gòu)建計(jì)算機(jī)實(shí)驗(yàn)平臺(tái)中的應(yīng)用[J].網(wǎng)絡(luò)安全和信息化,2024(6):114-116.
[9]陳春林,曹旭斌.基于傳統(tǒng)機(jī)房構(gòu)建AI實(shí)驗(yàn)平臺(tái)的實(shí)踐研究[J].實(shí)驗(yàn)科學(xué)與技術(shù),2023,21(4):141-144.
[10]周強(qiáng),歐文吉斯.基于云容器的教學(xué)實(shí)訓(xùn)平臺(tái)設(shè)計(jì)研究[J].電腦知識(shí)與技術(shù),2024,20(14):63-65.
[11]杜金濤,董建剛,承華青.Kubernetes水平伸縮策略的改進(jìn)研究[J].現(xiàn)代電子技術(shù),2023,46(10):129-136.
[12]陳軼陽,王小寧,盧莎莎,等.面向高性能計(jì)算系統(tǒng)的容器技術(shù)綜述[J].計(jì)算機(jī)科學(xué),2023,50(2):353-363.
[13]潘一寧.基于云平臺(tái)的高可靠微服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2023.
【通聯(lián)編輯:梁書】