一种实现多CPU架构的容器全生命周期管理方法
文献发布时间:2023-06-19 10:48:02
技术领域
本发明涉及容器技术领域,具体的说是一种实现多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开源限制的影响。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
- 一种实现多CPU架构的容器全生命周期管理方法
- 一种实现多CPU架构容器网络代理的方法