Examples can include techniques for running one or more containers on a virtual machine (VM). The example includes the cloning of the first VM to produce second VM. The first VM of the clone can run at least one set of containers that can perform one or more applications individually. In some examples, some clones are stopped at the first or second VM, allowing at least some resources to be provided to support the first VM or second VM to be reused or recovered at the managed nodes. In other examples, second VM migrated from the managed node to the destination host node to further enable the resource to be reused or recycled at the managed node.
【技术实现步骤摘要】
【国外来华专利技术】在虚拟机上运行一个或多个容器的技术
本文描述的示例通常与能够运行一个或多个容器的虚拟机(VM)有关。
技术介绍
用于数据中心的系统虚拟化可能包括被配置为托管虚拟机(VM)的数据中心的节点或服务器。彼此相关的VM可以针对执行与提供网络服务相关联的应用来提供强大的、独立的执行环境。每个VM可以运行针对可能与其他VM安全隔离的不同的客户端的操作系统(OS)。此外,除了应用执行环境之外,每个VM可能具有自己的OS内核。通常称为“容器”的OS虚拟化实现(如Linux容器(LXC)或Docker)可能针对与VM执行环境相比具有稍微弱化的隔离的应用提供多个执行环境。容器可以经由用于进程标识符(PID)、进程间通信(IPC)、存储等的单独的命名空间来维护一些隔离。此外,通过使用多个容器,与单独的VM执行环境相比,可以减少用于新的执行环境的存储器占用空间,因为OS内核可以重用于多个容器。附图说明图1示出了示例第一系统。图2示出了示例写时复制方案。图3示出了示例第一进程。图4示出了示例第二系统。图5示出了示例第二进程。图6示出了装置的示例框图。图7示出了逻辑流程的示例。图8示出了存储介质的示例。图9示出了示例计算平台。具体实施方式如在本公开中所想到的,使用容器可以针对与VM执行环境相比具有稍微弱化的隔离的应用提供多个执行环境。但是容器可以允许在数据中心中更高密度的部署(例如,使用更少的主机资源的更多的执行环境),并且当容器被初始化用于执行应用时,与虚拟机相比可能具有相对较快的提供速度。当今数据中心的典型使用可以是出于灵活性重用VM和容器技术二者,来在VM上共同托管至少一组容器 ...
【技术保护点】
包括多个指令的至少一个机器可读介质,所述多个指令响应于由系统在节点处执行而使得所述系统用于:克隆被布置为运行至少一组容器的第一虚拟机(VM),所述至少一组容器包括能够单独地执行相应的第一应用和第二应用的第一容器和第二容器,所述克隆得到第二VM,所述第二VM被布置为至少暂时地与被布置为在所述第一VM处运行的所述第一容器和所述第二容器并行地运行所述第一容器和所述第二容器;切换用于被布置为在所述第一VM处运行的所述第二容器的网络连接,以使得与能够执行所述第二应用的所述第二容器相关联的输入/输出分组从所述第一VM被重路由到所述第二VM;丢弃在所述网络连接的切换之后由被布置为在所述第一VM处运行的所述第二容器执行的所述第二应用所生成的输出分组;以及丢弃由被布置为在所述第二VM处运行的所述第一容器执行的所述第一应用所生成的输出分组。
【技术特征摘要】
【国外来华专利技术】1.包括多个指令的至少一个机器可读介质,所述多个指令响应于由系统在节点处执行而使得所述系统用于:克隆被布置为运行至少一组容器的第一虚拟机(VM),所述至少一组容器包括能够单独地执行相应的第一应用和第二应用的第一容器和第二容器,所述克隆得到第二VM,所述第二VM被布置为至少暂时地与被布置为在所述第一VM处运行的所述第一容器和所述第二容器并行地运行所述第一容器和所述第二容器;切换用于被布置为在所述第一VM处运行的所述第二容器的网络连接,以使得与能够执行所述第二应用的所述第二容器相关联的输入/输出分组从所述第一VM被重路由到所述第二VM;丢弃在所述网络连接的切换之后由被布置为在所述第一VM处运行的所述第二容器执行的所述第二应用所生成的输出分组;以及丢弃由被布置为在所述第二VM处运行的所述第一容器执行的所述第一应用所生成的输出分组。2.根据权利要求1所述的至少一个机器可读介质,所述指令进一步使得所述系统用于:实现写时复制(COW)机制,其用于使所述第二VM响应于由所述第二容器执行的第二应用写入到一个或多个克隆的存储器页面而使用不同的已分配的存储器来用于运行所述第二容器。3.根据权利要求2所述的至少一个机器可读介质,所述指令进一步使所述系统用于:响应于针对所述第一容器或所述第二容器中的至少一个的操作特性的变化来克隆所述第一VM,以使所述第一容器与所述第二容器隔离。4.根据权利要求3所述的至少一个机器可读介质,所述操作特性的变化基于接收到针对隔离的请求,所述针对隔离的请求引起使得所述第一应用和所述第二应用由被布置为在单独的VM上运行的容器执行的要求。5.根据权利要求1所述的至少一个机器可读介质,所述指令进一步使所述系统用于:停止所述第一容器在所述第二VM处运行;停止所述第二容器在所述第一VM处运行;以及回收或移除被分配用于分别在所述第二VM和所述第一VM处运行所述第一容器和所述第二容器的已分配的存储器。6.根据权利要求5所述的至少一个机器可读介质,所述指令进一步使所述系统用于:使所述第二VM迁移到目的地节点;以及回收或移除在所述第二VM迁移到所述目的地节点后被分配用于在所述第二VM处运行所述第二容器的已分配的存储器。7.根据权利要求6所述的至少一个机器可读介质,所述指令进一步使所述系统用于:使得所述第二VM响应于用于平衡所述节点和所述目的地节点之间的工作负载的工作负载平衡请求而被迁移到所述目的地节点。8.根据权利要求5所述的至少一个机器可读介质,所述指令进一步使所述系统用于:切换用于被布置为在第二VM处运行的所述第二容器的网络连接,以使得与能够执行所述第二应用的所述第二容器相关联的输入/输出分组从所述第二VM被重路由到所述第一VM;使得如下的输出分组被丢弃:在所述网络连接从所述第二VM切换到第一VM之后当所述第一容器和所述第二容器在所述第二VM处运行时由所述第一容器和所述第二容器执行的所述第一应用和所述第二应用生成的输出分组;以及停止所述第一容器和所述第二容器在所述第二VM处运行。9.根据权利要求8所述的至少一个机器可读介质,所述指令使所述系统用于响应于针对节点的操作特性的变化而将所述网络连接从所述第二VM切换到所述第一VM,所述针对节点的操作特性的变化使所述第一容器和所述第二容器通过系统被布置为仅由所述第一VM运行。10.根据权利要求9所述的至少一个机器可读介质,所述操作特性的变化基于如下指令:所述指令使所述系统响应于在所述节点处接收到针对密度增加的请求而增加被布置为在所述节点处每VM上运行的容器的密度。11.一种装置,包括:节点处的电路,其被配置为托管第一虚拟机(VM),所述第一虚拟机(VM)被布置为运行至少一组容器,所述至少一组容器包括能够单独地执行相应的第一应用和第二应用的第一容器和第二容器;克隆部件,其由所述电路执行以用于克隆所述第一VM以得到第二VM,所述第二VM被布置为至少暂时地与被布置为在所述第一VM处运行的所述第一容器和所述第二容器并行地运行所述第一容器和所述第二容器;重路由部件,其由所述电路执行以用于切换用于被布置为在所述第一VM处运行的所述第二容器的网络连接,以使与能够执行所述第二应用的所述第二容器相关联的输入/输出分组从所述第一VM被重路由到所述第二VM;第一丢弃部件,其由所述电路执行以用于丢弃在所述网络连接的切换后由被布置为在所述第一VM处运行的所述第二容器执行的所述第二应用所生成的输出分组;以及第二丢弃部件,其由电路执行以...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。