用于实例化和透明地迁移执行中的容器化进程的方法和系统技术方案

技术编号:37263544 阅读:8 留言:0更新日期:2023-04-20 23:36
一种用于实例化和透明地迁移正在执行的容器化进程的方法包括由在第一机器上执行的容器引擎接收在第一机器上实例化容器镜像的指令。容器引擎向在第一机器上执行的修改后的容器运行时进程发送在第一机器上实例化容器镜像的指令。修改后的容器运行时进程在第一机器上生成代表实例化的容器镜像的shim进程。shim进程通过服务器代理将指令转发到在第二机器上执行的代理服务器,服务器代理经由网络连接与代理服务器连接。该代理服务器指导容器镜像的实例化,作为容器化进程。在第一机器上执行的调度器组件确定将该容器化进程迁移到第三机器。调度器组件在执行容器化进程期间指导将容器化进程迁移到第三机器。导将容器化进程迁移到第三机器。导将容器化进程迁移到第三机器。

【技术实现步骤摘要】
【国外来华专利技术】用于实例化和透明地迁移执行中的容器化进程的方法和系统

技术介绍

[0001]本公开内容涉及用于实例化和迁移容器化进程的方法。更具体地说,本文描述的方法和系统涉及用于实例化和透明地迁移执行中的容器化进程的功能。
[0002]需要迁移正在执行的进程。传统上,由于执行中的进程对底层操作系统的许多依赖性,在进程执行时迁移该进程是困难的,甚至是不可能的。解决这一需求的传统方法是提供一个虚拟机,进程可以在其中执行,并在虚拟机中包括进程所需的所有硬件和软件资源的虚拟化,然后迁移整个进程。然而,传统的方法通常不提供透明地迁移执行中的进程的功能,该进程在虚拟机内拥有的资源少于所有可用资源。传统的容器运行时进程可以迁移传统的容器化进程(由于它们与其他容器化进程共享操作系统内核,因此容器内的可用资源少于容器内的所有资源),但这种迁移通常不是透明的,也不是在执行容器化进程期间“现场”进行的,因为操作系统内核不能被迁移,而且操作系统与其他进程有很深的联系,因此无法以透明方式进行迁移。

技术实现思路

[0003]一种用于实例化和透明地迁移正在执行的容器化进程的方法,包括由在第一机器上执行的容器引擎接收在第一机器上实例化容器镜像的指令。容器引擎向在第一机器上执行的修改后的容器运行时进程发送在第一机器上实例化容器镜像的指令。修改后的容器运行时进程在第一机器上生成代表实例化的容器镜像的shim进程。shim进程通过服务器代理(proxy)将指令转发到在第二机器上执行的代理服务器(agent),服务器代理经由网络连接与代理服务器连接。该代理服务器指导容器镜像的实例化,作为一个容器化进程。在第一机器上执行的调度器组件确定将该容器化进程迁移到第三机器。调度器组件在执行容器化进程期间,指导将容器化进程迁移到第三机器。
附图说明
[0004]通过参考结合附图进行的以下描述,上述和本公开的其他目的、方面、特征和优点将变得更加明显和更好地理解,其中:
[0005]图1A是描述用于实例化和透明地迁移执行中的容器化进程的系统的实施例的框图;
[0006]图1B是描述用于实例化和透明地迁移执行中的容器化进程的系统的实施例的框图;
[0007]图1C是描述用于实例化和透明地迁移执行中的容器化进程的系统的实施例的框图;
[0008]图1D是描述用于实例化和透明地迁移执行中的容器化进程的系统的实施例的框图;
[0009]图2是描述用于实例化和透明地迁移执行中的容器化进程的方法的实施例的流程图;和
[0010]图3A

3C是描述与本文描述的方法和系统相关的计算机的实施例的框图。
具体实施方式
[0011]本文描述的方法和系统可以提供用于在执行容器化进程期间实例化和透明地迁移执行中的容器化进程的功能。
[0012]现在参考图1A,其是用于实例化和透明地迁移执行中的容器化进程的系统的实施例的框图。简而言之,系统100包括容器引擎103、修改后的容器运行时进程105、shim进程107、服务器代理109、代理服务器111、容器113、文件系统115a、文件系统115b、网络端口117a、网络端口117b、容器编排引擎119、调度器组件121、计算设备106a、计算设备106b和计算设备106c。
[0013]计算设备106a

b(可以称为计算设备、计算机、机器或计算机)可以是修改后的计算设备的类型或形式(如下面结合图3A

3C的更详细的描述),其被修改为执行用于提供此处描述的功能的指令;这些修改产生了一种新类型的计算设备,该设备为计算机技术中的问题提供了技术解决方案,例如在执行这些进程期间迁移进程的能力,更具体地说,是实例化和透明地将执行中的容器化进程从一个计算设备迁移到另一个设备的能力。
[0014]如本领域技术人员将理解的,机器106a

c中的每一个可以是物理机或虚拟机。如本领域技术人员将理解的,机器106b可以是物理机或虚拟机。
[0015]机器106b可以包括用于将容器镜像实例化为容器化进程的功能。正如本领域技术人员所理解的那样,传统的容器(及其相关的容器镜像)共享主机计算设备的内核以在容器内运行应用程序;传统的容器通常只包括二进制文件、库和运行时组件

隔离可以被认为是进程级隔离。因此,传统上,容器化进程与在同一台机器上执行的其他容器化进程共享对操作系统内核的访问;然而,这通常会导致安全风险,因为一个容器的安全漏洞会使所有其他容器面临风险。管理这种风险的一些方法包括提供共享的“外核”,该外核极其微小,并为每个容器提供一个库,该库包括私有的、针对容器的操作系统内核,该内核为该特定容器进行了优化,只包括该容器所需的操作系统资源。因此,本文所述的方法和系统提供了实例化和迁移执行中的容器化进程的功能,这些容器化进程包括专用的操作系统内核。本文所述的方法和系统可以提供用于支持操作系统内核的功能,该操作系统内核可以直接映射到容器化进程的地址空间。本文所述的方法和系统可以提供用于支持操作系统内核的功能,该操作系统内核可以在其自身的地址空间中单独运行以实现隔离。
[0016]每个计算设备106可以运行一个沙盒。任何一个计算设备106可以运行一个以上的沙盒。不同的沙盒可以有不同的网络连接。不同的沙盒可以有不同的文件系统。不同的沙盒可以有相同的网络连接。不同的沙盒可以有相同的文件系统。
[0017]每个计算设备106可以运行一个虚拟机来代替沙盒或补充沙盒。
[0018]每个计算设备106可以运行一组或一系列进程,即两个或更多个一起执行的进程。
[0019]每个计算设备106可以执行由专用操作系统(OS)内核生成的容器化进程。如果OS内核是与容器化进程隔离的内核,则容器化进程是一个虚拟机;如果OS内核是作为映射到进程的地址空间的库运行,则这样的OS内核可以称为“X

Container”。
[0020]现在参考图1C,框图描述了系统100的一个实施例,其中,一个X

Container平台安装在计算设备106b上,第二个X

Container安装在计算设备106c上,每个X

Container提供
用于将容器镜像实例化为容器化进程的功能。在一些实施例中,X

Container平台提供用于将容器化进程从一台机器迁移到另一台机器的功能。X

Container平台可以为将操作系统内核作为库运行提供支持。尽管在图1C中描绘为X

Container平台,但如本领域普通技术人员所理解的和如上所述,可以执行虚拟机来代替X

Container。
[0021]返回参考图1A,结合图1B和1C,容器引擎103可以作为软件组件提供。容器引擎103可以作为硬件组件提供。计算设备106a可以执行容器引擎103。容器引擎103可以提供用于接收本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于实例化和透明地迁移执行中的容器化进程的方法,所述方法包括:由在第一机器上执行的容器引擎接收用于实例化第一机器上的容器镜像的指令;由所述容器引擎向在所述第一机器上执行的修改后的容器运行时进程发送在所述第一机器上实例化所述容器镜像的指令;由所述修改后的容器运行时进程在所述第一机器上生成代表所述实例化的容器镜像的shim进程;由所述shim进程通过服务器代理将所述指令转发到在第二机器上执行的代理服务器,所述服务器代理经由网络连接与所述代理服务器连接;由所述代理服务器指导所述容器镜像的实例化,作为容器化进程;由在所述第一机器上执行的调度器组件确定将所述容器化进程迁移到第三机器;和在执行所述容器化进程期间,由所述调度器组件指导将所述容器化进程迁移到所述第三机器。2.根据权利要求1所述的方法,其中由所述容器引擎接收在所述第一机器上实例化所述容器镜像的指令还包括由所述容器引擎从在所述第一机器上执行的容器编排引擎接收在所述第一机器上实例化所述容器镜像的指令。3.根据权利要求1所述的方法,还包括由所述调度器组件确定所述第三机器提供用于以比所述第二机器提供的效率水平更高的效率水平托管所述容器化进程的功能。4.根据权利要求1所述的方法,还包括由所述调度器组件确定所述第三机器提供用于以比所述第二机器提供的优化级别更高的优化级别托管所述容器化进程的功能。5.一种用于实例化和透明地迁移执行中的容器化进程的系统,包括:容器引擎,所述容器引擎在第一机器上执行并接收在所述第一机器上实例化容器镜像的指令;修改后的容器运行时进程,在所述第一机器上执行,并从所述容器引擎接收在所述第一机器上实例化所述容器镜像的指令;shim进程(i)表示实例化的容器镜像,(ii)响应于所述修改后的容器运行时进程接收到...

【专利技术属性】
技术研发人员:沈之明H
申请(专利权)人:埃索拓宁公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1