[發(fā)明專利]一種容器內(nèi)代理執(zhí)行方法有效
| 申請?zhí)枺?/td> | 201910273129.2 | 申請日: | 2019-04-04 |
| 公開(公告)號: | CN110162381B | 公開(公告)日: | 2021-07-13 |
| 發(fā)明(設(shè)計)人: | 高斌;楊正;杜雄;程度;張福 | 申請(專利權(quán))人: | 北京升鑫網(wǎng)絡(luò)科技有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F9/448;G06F9/54 |
| 代理公司: | 北京中海智圣知識產(chǎn)權(quán)代理有限公司 11282 | 代理人: | 楊樹芬 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 容器 代理 執(zhí)行 方法 | ||
本發(fā)明公開了一種容器內(nèi)代理執(zhí)行方法,包括以下步驟:步驟1、建立一種容器內(nèi)代理執(zhí)行系統(tǒng);步驟2、容器代理Worker運行在容器的命名空間namespace;步驟3、容器代理Worker支持動態(tài)切換命名空間namespace;步驟4、執(zhí)行控制器Controller運行在服務(wù)器主機或云主機上并負責(zé)向外提供執(zhí)行的接口Call()、管理執(zhí)行任務(wù)、管理容器代理Worker;步驟5.1、容器內(nèi)的任務(wù)執(zhí)行以應(yīng)用程序接口API為粒度;步驟6、容器代理Worker以獨立進程方式存在;步驟7、容器代理Worker的數(shù)量及創(chuàng)建策略由執(zhí)行控制器Controller決定,步驟8、工作時序;本發(fā)明的優(yōu)越效果是具有輕量化和易部署的優(yōu)點,且運行所需的資源占用少。
技術(shù)領(lǐng)域
本發(fā)明屬于計算機技術(shù)領(lǐng)域,尤其涉及一種容器內(nèi)代理執(zhí)行方法。
背景技術(shù)
目前,以docker為代表的容器引擎技術(shù)越來越受歡迎,越來越多的廠商開始使用容器來部署業(yè)務(wù)。容器是一個獨立的運行時環(huán)境。通過將軟件應(yīng)用和應(yīng)用所依賴的庫、配置、工具打包在一起,實現(xiàn)應(yīng)用的快速部署。容器引擎技術(shù)基于linux內(nèi)核提供的命名空間namespace特性來實現(xiàn)容器資源的隔離。命名空間namespace是對當前系統(tǒng)資源如進程、網(wǎng)絡(luò)、文件系統(tǒng)的封裝和隔離。主機進程和容器進程、不同容器的進程都處于不同的命名空間namespace,擁有各自獨立的系統(tǒng)資源,無法互相訪問。目前容器內(nèi)的代理執(zhí)行在市面上還沒有成熟的產(chǎn)品和方案。只有像Kubernetes探針這樣的容器監(jiān)控類工具。Kubernetes探針包括存活探針和就緒探針是在容器內(nèi)定期執(zhí)行的小程序,用于探測容器的健康狀態(tài),并向Kubernetes匯報狀態(tài)。Kubernetes的探針只用于專門的用途,并且要求每個容器都需要運行探針程序。Kubernetes的探針只有預(yù)定義好的功能,無法進行功能擴展和二次開發(fā),不能滿足服務(wù)器軟件產(chǎn)品的各種需求。傳統(tǒng)服務(wù)器軟件產(chǎn)品安裝運行在服務(wù)器主機或云主機上,由于linux系統(tǒng)的命名空間namespace隔離的原因,主機上的軟件產(chǎn)品無法直接獲取容器內(nèi)的各種信息即讀寫容器內(nèi)的文件系統(tǒng),獲取容器內(nèi)網(wǎng)絡(luò)連接信息。如果將現(xiàn)有服務(wù)器軟件產(chǎn)品直接移植到容器內(nèi)運行,因為一臺主機往往同時運行著大量容器,每個容器內(nèi)分別部署又會產(chǎn)生比較大的資源消耗;同時容器的動態(tài)調(diào)度特性也會造成軟件產(chǎn)品的系統(tǒng)復(fù)雜無法管理。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能夠克服上述技術(shù)問題的容器內(nèi)代理執(zhí)行方法。
本發(fā)明所述方法包括以下步驟:
步驟1、建立一種容器內(nèi)代理執(zhí)行系統(tǒng),所述系統(tǒng)包括執(zhí)行控制器Controller、容器代理Worker;執(zhí)行控制器Controller運行在服務(wù)器主機或云主機上,執(zhí)行控制器Controller是所有任務(wù)執(zhí)行的管理者;容器代理Worker運行在容器內(nèi),容器代理Worker負責(zé)實際任務(wù)的執(zhí)行。
步驟2、容器代理Worker運行在容器的命名空間namespace,能夠訪問容器內(nèi)的進程、網(wǎng)絡(luò)、文件系統(tǒng)的系統(tǒng)資源;同時,容器代理Worker能和運行在主機上的執(zhí)行控制器Controller通信,將獲取到容器內(nèi)信息返回給執(zhí)行控制器Controller。
步驟3、容器代理Worker支持動態(tài)切換命名空間namespace,在同時運行多個容器的主機上配置一個或多個容器代理Worker;容器代理Worker由執(zhí)行控制器Controller自動管理,執(zhí)行控制器Controller向外提供調(diào)用接口。
步驟4、執(zhí)行控制器Controller運行在服務(wù)器主機或云主機上并負責(zé)向外提供執(zhí)行的接口Call()、管理執(zhí)行任務(wù)、管理容器代理Worker;當軟件業(yè)務(wù)需要獲取某個容器內(nèi)的信息時,向執(zhí)行控制器Controller的執(zhí)行接口Call()傳遞容器信息、任務(wù)信息,Call()執(zhí)行完成后返回容器內(nèi)的執(zhí)行結(jié)果。
步驟5.1、容器內(nèi)的任務(wù)執(zhí)行以應(yīng)用程序接口API為粒度,容器代理Worker提供應(yīng)用程序接口API的實現(xiàn);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京升鑫網(wǎng)絡(luò)科技有限公司,未經(jīng)北京升鑫網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910273129.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 以注射方式執(zhí)行死刑的自動執(zhí)行車的執(zhí)行床
- 過程執(zhí)行裝置、過程執(zhí)行方法以及過程執(zhí)行程序
- 用以執(zhí)行跳舞電子游戲的執(zhí)行系統(tǒng)及其執(zhí)行方法
- 策略執(zhí)行系統(tǒng)及其執(zhí)行方法
- 腳本執(zhí)行系統(tǒng)和腳本執(zhí)行方法
- 命令執(zhí)行設(shè)備、命令執(zhí)行系統(tǒng)、命令執(zhí)行方法以及命令執(zhí)行程序
- 程序執(zhí)行裝置、程序執(zhí)行系統(tǒng)以及程序執(zhí)行方法
- 處理執(zhí)行設(shè)備和由該處理執(zhí)行設(shè)備執(zhí)行的方法
- 有序任務(wù)的執(zhí)行方法、執(zhí)行裝置和執(zhí)行系統(tǒng)
- 執(zhí)行器(閥門執(zhí)行器)





