[發(fā)明專利]基于Kubernetes的鏡像構(gòu)建方法及相關(guān)裝置在審
| 申請?zhí)枺?/td> | 202111466838.6 | 申請日: | 2021-12-01 |
| 公開(公告)號(hào): | CN114138415A | 公開(公告)日: | 2022-03-04 |
| 發(fā)明(設(shè)計(jì))人: | 張蜜蜜;劉迪;劉澤三;劉歆一;高瑩;劉雅琦;楊慧玉 | 申請(專利權(quán))人: | 國網(wǎng)信息通信產(chǎn)業(yè)集團(tuán)有限公司 |
| 主分類號(hào): | G06F9/455 | 分類號(hào): | G06F9/455;G06F8/71;G06F8/61 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 李慧慧 |
| 地址: | 102211 北京市昌平區(qū)未*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 kubernetes 構(gòu)建 方法 相關(guān) 裝置 | ||
本發(fā)明公開基于Kubernetes的鏡像構(gòu)建方法及相關(guān)裝置,可以通過自定義構(gòu)建執(zhí)行器,通過構(gòu)建執(zhí)行器遍歷用戶輸入的鏡像構(gòu)建文件Dockerfile,從而獲得Dockerfile中的各構(gòu)建階段的構(gòu)建信息;獲得用戶輸入的各構(gòu)建階段的上下文路徑信息;根據(jù)各構(gòu)建階段的構(gòu)建指令,確定各構(gòu)建階段的依賴關(guān)系;對于任一所述構(gòu)建階段,均執(zhí)行:根據(jù)所述構(gòu)建階段的上下文路徑信息、所述構(gòu)建階段的依賴關(guān)系和所述構(gòu)建階段的構(gòu)建信息,構(gòu)建所述構(gòu)建階段的鏡像文件包。本發(fā)明無需依賴Docker守護(hù)進(jìn)程的交互式訪問,可以直接根據(jù)Dockerfile中的構(gòu)建指令構(gòu)建相應(yīng)的鏡像文件,無需獲得更高的權(quán)限,安全性較高。
技術(shù)領(lǐng)域
本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,特別涉及一種基于Kubernetes的鏡像構(gòu)建方法及相關(guān)裝置。
背景技術(shù)
隨著云架構(gòu)的不斷普及,越來越多企業(yè)采用云原生方法來開發(fā)應(yīng)用,以提高速度、增加靈活性、改善軟件質(zhì)量并降低風(fēng)險(xiǎn)。容器是云原生概念的重要組成部分,具有“輕量級(jí)”、“可移植”等特點(diǎn),容器鏡像的構(gòu)建在持續(xù)集成和持續(xù)交付中扮演著非常重要的角色。Kubernetes是一個(gè)開源容器編排平臺(tái),可以大規(guī)模地管理分布式、容器化的應(yīng)用,在Kubernetes集群中,用Docker構(gòu)建容器鏡像是最常用的方法,但是直接通過Docker從標(biāo)準(zhǔn)的Dockerfile構(gòu)建容器鏡像通常依賴于對Docker守護(hù)進(jìn)程的交互式訪問,這意味著容器需要獲取更高的訪問權(quán)限才能運(yùn)行,存在安全隱患。
發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明提供一種克服上述問題或者至少部分地解決上述問題的基于Kubernetes的鏡像構(gòu)建方法及相關(guān)裝置。
第一方面,一種基于Kubernetes的鏡像構(gòu)建方法,包括:
遍歷用戶輸入的鏡像構(gòu)建文件Dockerfile,從而獲得所述Dockerfile中的各構(gòu)建階段的構(gòu)建信息,其中,各所述構(gòu)建階段的構(gòu)建信息均至少包括:相應(yīng)構(gòu)建階段的至少一個(gè)構(gòu)建指令,一個(gè)所述Dockerfile對應(yīng)多個(gè)所述構(gòu)建階段,所述構(gòu)建指令為構(gòu)建鏡像文件的指令,一個(gè)所述構(gòu)建指令對應(yīng)一個(gè)所述鏡像文件層;
獲得所述用戶輸入的各所述構(gòu)建階段的上下文路徑信息,其中,所述上下文路徑信息表征各所述構(gòu)建階段編譯構(gòu)建鏡像文件包所基于的指定路徑,一個(gè)所述構(gòu)建階段對應(yīng)一個(gè)所述鏡像文件包,一個(gè)所述鏡像文件包對應(yīng)至少一個(gè)所述鏡像文件層;
根據(jù)各所述構(gòu)建階段的構(gòu)建指令,確定各所述構(gòu)建階段的依賴關(guān)系;
對于任一所述構(gòu)建階段,均執(zhí)行:根據(jù)所述構(gòu)建階段的上下文路徑信息、所述構(gòu)建階段的依賴關(guān)系和所述構(gòu)建階段的構(gòu)建信息,構(gòu)建所述構(gòu)建階段的鏡像文件包。
結(jié)合第一方面,在某些可選的實(shí)施方式中,所述根據(jù)所述構(gòu)建階段的上下文路徑信息、所述構(gòu)建階段的依賴關(guān)系和所述構(gòu)建階段的構(gòu)建信息,構(gòu)建所述構(gòu)建階段的鏡像文件包,包括:
判斷所述構(gòu)建階段的解壓標(biāo)志位是否為解壓標(biāo)識(shí);
若是,則根據(jù)所述依賴關(guān)系解壓其它鏡像文件包作為相應(yīng)所述構(gòu)建階段的基礎(chǔ)鏡像文件,并基于所述基礎(chǔ)鏡像文件,執(zhí)行所述構(gòu)建信息中的構(gòu)建指令,從而基于所述上下文路徑信息構(gòu)建得到各所述構(gòu)建指令對應(yīng)的鏡像文件層;
若不是,則直接執(zhí)行所述構(gòu)建信息中的構(gòu)建指令,從而基于所述上下文路徑信息構(gòu)建得到各所述構(gòu)建指令對應(yīng)的鏡像文件層;
將各所述鏡像文件層打包在一個(gè)鏡像文件夾里,從而構(gòu)建得到所述構(gòu)建階段的鏡像文件包。
結(jié)合上一個(gè)實(shí)施方式,在某些可選的實(shí)施方式中,所述執(zhí)行所述構(gòu)建的構(gòu)建指令,從而基于所述上下文路徑信息構(gòu)建得到對應(yīng)的鏡像文件層,包括:
針對任一所述構(gòu)建指令,均執(zhí)行:判斷鏡像緩存中是否存儲(chǔ)有所述構(gòu)建指令對應(yīng)的鏡像文件層;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于國網(wǎng)信息通信產(chǎn)業(yè)集團(tuán)有限公司,未經(jīng)國網(wǎng)信息通信產(chǎn)業(yè)集團(tuán)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111466838.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于Kubernetes的IMS系統(tǒng)
- 一種部署Kubernetes集群的方法、裝置和存儲(chǔ)介質(zhì)
- 部署Kubernetes集群的方法及裝置
- 一種Dubbo服務(wù)與Kubernetes系統(tǒng)集成的方法
- 一種基于OpenStack的Kubernetes集群搭建部署方法、架構(gòu)及存儲(chǔ)介質(zhì)
- 基于Kubernetes集群的服務(wù)訪問方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種Kubernetes容器云平臺(tái)應(yīng)用導(dǎo)入方法、系統(tǒng)
- 基于物理網(wǎng)卡的kubernetes網(wǎng)絡(luò)實(shí)現(xiàn)方法、系統(tǒng)、設(shè)備及介質(zhì)
- 多Kubernetes集群管理方法、裝置和可讀介質(zhì)
- Kubernetes上部署Kubernetes虛擬機(jī)集群的方法與系統(tǒng)
- 構(gòu)建墊、實(shí)體圖像構(gòu)建物和構(gòu)建構(gòu)建物支撐件的方法
- 支持松耦合的軟件構(gòu)建方法、系統(tǒng)及該系統(tǒng)的實(shí)現(xiàn)方法
- 版本的構(gòu)建系統(tǒng)及方法
- 工程構(gòu)建系統(tǒng)及其構(gòu)建方法
- 實(shí)例構(gòu)建方法、裝置及軟件系統(tǒng)
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 天花板地圖構(gòu)建方法、構(gòu)建裝置以及構(gòu)建程序
- 一種項(xiàng)目構(gòu)建方法、持續(xù)集成系統(tǒng)及終端設(shè)備
- 并行構(gòu)建的方法、裝置及設(shè)備
- 構(gòu)建肺癌預(yù)測模型構(gòu)建方法
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





