CN112732407B - 一种实现多cpu架构的容器全生命周期管理方法 - Google Patents

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

Info

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
Application number
CN202110054057.XA
Other languages
English (en)
Other versions
CN112732407A (zh
Inventor
石光银
蔡卫卫
高传集
孙思清
张晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Inspur Cloud Computing Service Co Ltd
Original Assignee
Shanghai Inspur Cloud Computing Service Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Inspur Cloud Computing Service Co Ltd filed Critical Shanghai Inspur Cloud Computing Service Co Ltd
Priority to CN202110054057.XA priority Critical patent/CN112732407B/zh
Publication of CN112732407A publication Critical patent/CN112732407A/zh
Application granted granted Critical
Publication of CN112732407B publication Critical patent/CN112732407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network 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架构的容器全生命周期管理方法
技术领域
本发明涉及容器技术领域,具体的说是一种实现多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架构。
CN202110054057.XA 2021-01-15 2021-01-15 一种实现多cpu架构的容器全生命周期管理方法 Active CN112732407B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391880B (zh) * 2021-06-21 2023-04-07 超越科技股份有限公司 一种分层双重哈希验证的可信镜像传输方法

Citations (3)

* Cited by examiner, † Cited by third party
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架构服务的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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