技术领域
本发明涉及容器技术领域,具体的说是一种实现多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开源限制的影响。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
机译: 辐射的可视化系统,其管理方法和一种记录介质,该记录介质保存在HIM上以实现一种管理方法
机译: 一种用于实现至少一种害虫监测和控制的系统,包括具有内置摄像机的容器,在内部准备的至少一种害虫监测材料和害虫诱饵,以及一种用于实现至少一种监测的方法。和害虫防治。
机译: 一种非易失性存储设备中坏存储块的管理方法及实现该管理方法的非易失性存储设备