CN112732407B - 一种实现多cpu架构的容器全生命周期管理方法 - Google Patents
一种实现多cpu架构的容器全生命周期管理方法 Download PDFInfo
- Publication number
- CN112732407B CN112732407B CN202110054057.XA CN202110054057A CN112732407B CN 112732407 B CN112732407 B CN 112732407B CN 202110054057 A CN202110054057 A CN 202110054057A CN 112732407 B CN112732407 B CN 112732407B
- Authority
- CN
- China
- Prior art keywords
- container
- cri
- server
- mirror image
- management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 claims abstract description 26
- 244000035744 Hura crepitans Species 0.000 claims description 48
- 230000004807 localization Effects 0.000 abstract description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种实现多CPU架构的容器全生命周期管理方法,涉及容器技术领域,其实现基于镜像容器管理工具、CRI服务器、CRI命令行,其中:镜像容器管理工具用于构建镜像;CRI服务器具有CRI,通过调用容器管理服务和镜像容器管理工具构建的镜像,来创建容器,并通过调用容器监管工具,进行容器进程的监管;CRI命令行作为容器管理工具,用于连接实现CRI协议的容器运行时组件,并通过CRI服务器实现容器全生命周期管理,容器全生命周期管理包括镜像管理和容器管理两部分。本方法可以为用户提供多CPU架构的容器运行时、容器管理工具、镜像管理工具,保证基于国产化服务器可以运行浪潮容器云平台和容器服务,并且不受Docker开源限制的影响。
Description
技术领域
本发明涉及容器技术领域,具体的说是一种实现多CPU架构的容器全生命周期管理方法。
背景技术
容器技术是比较流行的提供微服务的PaaS技术,而Kubernetes是容器编排管理的事实标准,基于Kubernetes提供容器云平台是各大云厂商的首选。Kubernetes调用容器运行时产品实现容器的生命周期管理,比较流行的容器产品是Docker,各大云厂商也是基于Docker提供容器服务。
但是,Docker的开源社区不是很活跃,开源项目已经归档,后期不提供最新的开源版本了,在国产化项目中的使用也受到了限制。如何实现一个替换Docker的新产品呢?实现这个产品需要实现哪些功能呢?这是国产化服务器使用云平台的一个很大挑战。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种实现多CPU架构的容器全生命周期管理方法。
本发明的一种实现多CPU架构的容器全生命周期管理方法,解决上述技术问题采用的技术方案如下:
一种实现多CPU架构的容器全生命周期管理方法,其实现基于镜像容器管理工具、CRI服务器、CRI命令行,其中:
镜像容器管理工具用于构建镜像;
CRI服务器具有CRI,通过调用容器管理服务和镜像容器管理工具构建的镜像,来创建容器,并通过调用容器监管工具,进行容器进程的监管;
CRI命令行作为容器管理工具,用于连接实现CRI协议的容器运行时组件,并通过CRI服务器实现容器全生命周期管理,容器全生命周期管理包括镜像管理和容器管理两部分。
进一步的,所涉及容器管理服务可以初始化CRI的客户端对象,并通过镜像服务和运行时服务的客户端访问CRI服务器。
进一步的,所涉及CRI服务器不限于包括服务器组件、沙箱组件、容器网络组件、容器组件、镜像组件、运行时组件、存储组件;
CRI服务器通过服务器组件实现CRI的镜像服务和运行时服务,并实现沙箱、容器、镜像的接口方法;
CRI服务器通过沙箱组件完成运行沙箱、删除沙箱、停止沙箱的操作;
CRI服务器通过容器网络组件完成创建容器组和删除容器组的操作,还通过容器网络组件查看容器组状态;
CRI服务器通过容器组件和运行时组件完成创建容器、启动容器、执行容器的操作;
CRI服务器通过镜像组件完成查询镜像、拉取镜像、删除镜像的操作;
CRI服务器通过存储组件完成镜像存储、层存储和容器存储。
进一步的,所涉及用户创建容器组时,首先通过容器管理服务进行节点调度,随后调用CRI服务器创建沙箱,调用容器网络组件,再把获取的IP信息绑定到沙箱上,在CRI服务器通过CRI获取沙箱状态时,返回沙箱的IP。
更进一步的,所涉及CRI服务器支持不同类型容器的运行时组件,当CRI服务器调用容器管理服务创建沙箱时,容器管理服务通过CRI把运行时类型传给CRI服务器,CRI服务器根据参数调用不同的OCI运行时完成容器的创建和启动。
更进一步的,所涉及管理方法的具体实现过程包括:
(1)用户通过所述镜像容器管理工具构建镜像,并存储于镜像仓库;
(2)用户创建容器组,根据创建的容器组调度到具体的容器管理服务,由容器管理服务调用CRI服务器;
(3)容器管理服务调用CRI服务器,CRI服务器拉取镜像仓库的镜像,创建沙箱,并调用容器网络组件,获取IP信息并绑定到沙箱上,容器管理服务通过CRI获取沙箱状态时,返回沙箱的IP;
(4)CRI服务器通过容器组件创建沙箱容器,并调用运行时组件,启动容器监管工具监控容器进程;
(5)容器管理服务调用CRI服务器,通过容器组件创建容器,并调用运行时组件,启动容器监管工具监控容器进程;
(6)步骤(4)、(5)过程中,产生的容器数据存放于存储组件。
进一步的,所涉及用户通过镜像容器管理工具构建镜像后,镜像文件存储于本地的镜像存储目录下,随后用户通过镜像容器管理工具获取镜像文件,并推动镜像至镜像仓库进行保存。
进一步的,所涉及CRI服务器、CRI命令行、镜像容器管理工具采用GoLang语言编写。
进一步的,所涉及多CPU架构不限于包括使用交叉编译技术支持的ARM架构、MIPS架构、X86架构。
本发明的一种实现多CPU架构的容器全生命周期管理方法,与现有技术相比具有的有益效果是:
本发明可以为用户提供多CPU架构的容器运行时、容器管理工具、镜像管理工具,保证基于国产化服务器可以运行浪潮容器云平台和容器服务,并且不受Docker开源限制的影响。
附图说明
附图1是本发明实施例一中CRI服务器的架构示意图;
附图2是本发明实施例一的方法流程示意图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
实施例一:
本实施例提出一种实现多CPU架构的容器全生命周期管理方法,其实现基于镜像容器管理工具、CRI服务器、CRI命令行,其中,多CPU架构不限于包括使用交叉编译技术支持的ARM架构、MIPS架构、X86架构,CRI服务器、CRI命令行、镜像容器管理工具采用GoLang语言编写。
镜像容器管理工具用于构建镜像。
CRI服务器具有CRI,通过调用容器管理服务和镜像容器管理工具构建的镜像,来创建容器,并通过调用容器监管工具,进行容器进程的监管。容器管理服务还可以初始化CRI的客户端对象,并通过镜像服务和运行时服务的客户端访问CRI服务器。
CRI命令行作为容器管理工具,用于连接实现CRI协议的容器运行时组件,并通过CRI服务器实现容器全生命周期管理,容器全生命周期管理包括镜像管理和容器管理两部分。
本实施例中,结合附图1,CRI服务器不限于包括服务器组件、沙箱组件、容器网络组件、容器组件、镜像组件、运行时组件、存储组件;
CRI服务器通过服务器组件实现CRI的镜像服务和运行时服务,并实现沙箱、容器、镜像的接口方法;
CRI服务器通过沙箱组件完成运行沙箱、删除沙箱、停止沙箱的操作;
CRI服务器通过容器网络组件完成创建容器组和删除容器组的操作,还通过容器网络组件查看容器组状态;
CRI服务器通过容器组件和运行时组件完成创建容器、启动容器、执行容器的操作;
CRI服务器通过镜像组件完成查询镜像、拉取镜像、删除镜像的操作;
CRI服务器通过存储组件完成镜像存储、层存储和容器存储。
本实施例中,用户创建容器组时,首先通过容器管理服务进行节点调度,随后调用CRI服务器创建沙箱,调用容器网络组件,再把获取的IP信息绑定到沙箱上,在CRI服务器通过CRI获取沙箱状态时,返回沙箱的IP。
本实施例中,CRI服务器支持不同类型容器的运行时组件,当CRI服务器调用容器管理服务创建沙箱时,容器管理服务通过CRI把运行时类型传给CRI服务器,CRI服务器根据参数调用不同的OCI运行时完成容器的创建和启动。
结合附图2,基于前述镜像容器管理工具、CRI服务器、CRI命令行,容器全生命周期管理方法的具体实现流程为:
(1)用户通过所述镜像容器管理工具构建镜像,随后,将镜像文件存储于本地的镜像存储目录下,并推送镜像文件至镜像仓库进行保存;
(2)用户创建容器组,根据创建的容器组调度到具体的容器管理服务,由容器管理服务调用CRI服务器;
(3)容器管理服务调用CRI服务器,CRI服务器拉取镜像仓库的镜像,创建沙箱,并调用容器网络组件,获取IP信息并绑定到沙箱上,容器管理服务通过CRI获取沙箱状态时,返回沙箱的IP;
(4)CRI服务器通过容器组件创建沙箱容器,并调用运行时组件,启动容器监管工具监控容器进程;
(5)容器管理服务调用CRI服务器,通过容器组件创建容器,并调用运行时组件,启动容器监管工具监控容器进程;
(6)步骤(4)、(5)过程中,产生的容器数据存放于存储组件。
上述过程中,CRI命令行作为容器管理工具,连接实现CRI协议的容器运行时组件,并通过CRI服务器管理沙箱和容器,实现容器全生命周期管理,容器全生命周期管理包括镜像管理和容器管理两部分。
综上可知,采用本发明的一种实现多CPU架构的容器全生命周期管理方法,可以为用户提供多CPU架构的容器运行时、容器管理工具、镜像管理工具,保证基于国产化服务器可以运行浪潮容器云平台和容器服务,并且不受Docker开源限制的影响。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (8)
1.一种实现多CPU架构的容器全生命周期管理方法,其特征在于,其实现基于镜像容器管理工具、CRI服务器、CRI命令行,其中:
镜像容器管理工具用于构建镜像;
CRI服务器具有CRI,通过调用容器管理服务和镜像容器管理工具构建的镜像,来创建容器,并通过调用容器监管工具,进行容器进程的监管;
CRI命令行作为容器管理工具,用于连接实现CRI协议的容器运行时组件,并通过CRI服务器实现容器全生命周期管理,容器全生命周期管理包括镜像管理和容器管理两部分;
该方法的具体实现过程包括:
(1)用户通过所述镜像容器管理工具构建镜像,并存储于镜像仓库;
(2)用户创建容器组,根据创建的容器组调度到具体的容器管理服务,由容器管理服务调用CRI服务器;
(3)容器管理服务调用CRI服务器,CRI服务器拉取镜像仓库的镜像,创建沙箱,并调用容器网络组件,获取IP信息并绑定到沙箱上,容器管理服务通过CRI获取沙箱状态时,返回沙箱的IP;
(4)CRI服务器通过容器组件创建沙箱容器,并调用运行时组件,启动容器监管工具监控容器进程;
(5)容器管理服务调用CRI服务器,通过容器组件创建容器,并调用运行时组件,启动容器监管工具监控容器进程;
(6)步骤(4)、(5)过程中,产生的容器数据存放于存储组件。
2.根据权利要求1所述的一种实现多CPU架构的容器全生命周期管理方法,其特征在于,所述容器管理服务可以初始化CRI的客户端对象,并通过镜像服务和运行时服务的客户端访问CRI服务器。
3.根据权利要求1所述的一种实现多CPU架构的容器全生命周期管理方法,其特征在于,所述CRI服务器不限于包括服务器组件、沙箱组件、容器网络组件、容器组件、镜像组件、运行时组件、存储组件;
所述CRI服务器通过所述服务器组件实现CRI的镜像服务和运行时服务,并实现沙箱、容器、镜像的接口方法;
所述CRI服务器通过所述沙箱组件完成运行沙箱、删除沙箱、停止沙箱的操作;
所述CRI服务器通过所述容器网络组件完成创建容器组和删除容器组的操作,还通过容器网络组件查看容器组状态;
所述CRI服务器通过所述容器组件和所述运行时组件完成创建容器、启动容器、执行容器的操作;
所述CRI服务器通过所述镜像组件完成查询镜像、拉取镜像、删除镜像的操作;
所述CRI服务器通过所述存储组件完成镜像存储、层存储和容器存储。
4.根据权利要求3所述的一种实现多CPU架构的容器全生命周期管理方法,其特征在于,用户创建容器组时,首先通过容器管理服务进行节点调度,随后调用CRI服务器创建沙箱,进而调用容器网络组件获取IP信息,再把获取的IP信息绑定到沙箱上,在CRI服务器通过CRI获取沙箱状态时,返回沙箱的IP。
5.根据权利要求4所述的一种实现多CPU架构的容器全生命周期管理方法,其特征在于,所述CRI服务器支持不同类型容器的运行时组件,当所述CRI服务器调用所述容器管理服务创建沙箱时,容器管理服务通过CRI把运行时类型传给CRI服务器,CRI服务器根据参数调用不同的OCI运行时完成容器的创建和启动。
6.根据权利要求5所述的一种实现多CPU架构的容器全生命周期管理方法,其特征在于,用户通过所述镜像容器管理工具构建镜像后,镜像文件存储于本地的镜像存储目录下,随后用户通过所述镜像容器管理工具获取镜像文件,并推动镜像至镜像仓库进行保存。
7.根据权利要求1所述的一种实现多CPU架构的容器全生命周期管理方法,其特征在于,CRI服务器、CRI命令行、镜像容器管理工具采用GoLang语言编写。
8.根据权利要求1所述的一种实现多CPU架构的容器全生命周期管理方法,其特征在于,多CPU架构不限于包括使用交叉编译技术支持的ARM架构、MIPS架构、X86架构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110054057.XA CN112732407B (zh) | 2021-01-15 | 2021-01-15 | 一种实现多cpu架构的容器全生命周期管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110054057.XA CN112732407B (zh) | 2021-01-15 | 2021-01-15 | 一种实现多cpu架构的容器全生命周期管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732407A CN112732407A (zh) | 2021-04-30 |
CN112732407B true CN112732407B (zh) | 2024-04-16 |
Family
ID=75593260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110054057.XA Active CN112732407B (zh) | 2021-01-15 | 2021-01-15 | 一种实现多cpu架构的容器全生命周期管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732407B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391880B (zh) * | 2021-06-21 | 2023-04-07 | 超越科技股份有限公司 | 一种分层双重哈希验证的可信镜像传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017129106A1 (zh) * | 2016-01-29 | 2017-08-03 | 腾讯科技(深圳)有限公司 | 数据请求处理的方法、服务器及*** |
CN109582441A (zh) * | 2018-11-30 | 2019-04-05 | 北京百度网讯科技有限公司 | 用于提供容器服务的***、方法和装置 |
CN111309401A (zh) * | 2020-03-24 | 2020-06-19 | 广西梯度科技有限公司 | 一种在Kubernetes中运行多CPU架构服务的方法 |
-
2021
- 2021-01-15 CN CN202110054057.XA patent/CN112732407B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017129106A1 (zh) * | 2016-01-29 | 2017-08-03 | 腾讯科技(深圳)有限公司 | 数据请求处理的方法、服务器及*** |
CN109582441A (zh) * | 2018-11-30 | 2019-04-05 | 北京百度网讯科技有限公司 | 用于提供容器服务的***、方法和装置 |
CN111309401A (zh) * | 2020-03-24 | 2020-06-19 | 广西梯度科技有限公司 | 一种在Kubernetes中运行多CPU架构服务的方法 |
Non-Patent Citations (1)
Title |
---|
一种Docker CE环境下镜像仓库本地部署的方法;王匆捷;;信息化研究(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112732407A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110752947B (zh) | 一种k8s集群部署方法及装置,一种部署平台 | |
WO2018086580A1 (zh) | 一种可扩展的异构云平台适配方法及其*** | |
CN103283209A (zh) | 一种应用服务平台***及其实现方法 | |
WO2001090886A2 (en) | Local transaction management | |
CN111290753A (zh) | 前端开发环境的搭建方法、装置、设备及存储介质 | |
KR20080038350A (ko) | 컴포넌트 아키텍처 | |
WO2024077885A1 (zh) | 容器集群的管理方法、装置、设备及非易失性可读存储介质 | |
CN112035090B (zh) | 基于容器化技术实现智能合约智慧化管理***及方法 | |
CN110308987B (zh) | 一种更新容器云上分布式训练任务连接参数的方法 | |
CN112732407B (zh) | 一种实现多cpu架构的容器全生命周期管理方法 | |
Kritikos et al. | Towards the modelling of hybrid cloud applications | |
CN111124430A (zh) | 一种混合架构的微服务部署方法和装置 | |
CN115525396A (zh) | 基于云原生的应用管理方法及装置 | |
CN114124739B (zh) | 部署FreeSWITCH服务的方法、装置、电子设备及存储介质 | |
US7177934B2 (en) | Method and apparatus for providing application specific strategies to a JAVA platform including start and stop policies | |
CN102664952A (zh) | 一种对嵌入式设备集群管理及监控的方法 | |
CN113360386B (zh) | 交换芯片驱动测试方法、装置、电子设备和存储介质 | |
CN114443226A (zh) | 一种基于kubernetes的IDE应用云上部署方法及*** | |
CN116974948B (zh) | 业务***测试方法、***、设备和介质 | |
Fayçal et al. | Integrating legacy systems in a SOA using an agent based approach for information system agility | |
CN113485687B (zh) | 一种基于ice分布式跨语言应用的快速搭建方法及*** | |
CN113641641A (zh) | 文件存储服务的切换方法、切换***、设备及存储介质 | |
Bracha | Objects as software services | |
WO1998058313A1 (en) | System development tool for distributed object oriented computing | |
CN111008035B (zh) | 一种软件运维方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |