首页> 中国专利> 一种实现多CPU架构的容器全生命周期管理方法

一种实现多CPU架构的容器全生命周期管理方法

摘要

本发明公开一种实现多CPU架构的容器全生命周期管理方法,涉及容器技术领域,其实现基于镜像容器管理工具、CRI服务器、CRI命令行,其中:镜像容器管理工具用于构建镜像;CRI服务器具有CRI,通过调用容器管理服务和镜像容器管理工具构建的镜像,来创建容器,并通过调用容器监管工具,进行容器进程的监管;CRI命令行作为容器管理工具,用于连接实现CRI协议的容器运行时组件,并通过CRI服务器实现容器全生命周期管理,容器全生命周期管理包括镜像管理和容器管理两部分。本方法可以为用户提供多CPU架构的容器运行时、容器管理工具、镜像管理工具,保证基于国产化服务器可以运行浪潮容器云平台和容器服务,并且不受Docker开源限制的影响。

著录项

  • 公开/公告号CN112732407A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 上海浪潮云计算服务有限公司;

    申请/专利号CN202110054057.X

  • 申请日2021-01-15

  • 分类号G06F9/455(20060101);

  • 代理机构37100 济南信达专利事务所有限公司;

  • 代理人冯春连

  • 地址 200436 上海市静安区江场三路238号411室

  • 入库时间 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开源限制的影响。

以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号