混合运行虚拟机与容器的方法、装置、电子设备和可读存储介质制造方法及图纸

技术编号:36389766 阅读:15 留言:0更新日期:2023-01-18 09:53
本申请提供一种混合运行虚拟机与容器的方法、装置、电子设备和可读存储介质,通过k8s服务接口接收到客户端发送的VMI创建命令时,进行VMI的创建;virt控制器监听到VMI创建时,根据VMI规格文件生成pod规格文件以创建pod,根据pod的调度节点更新VMI的节点名称;virt操作器监听到VMI的节点名称与自身所在节点匹配时,与pod内的virt启动器建立通信;virt启动器与操作器通信后,创建虚拟机并进行虚拟机的生命周期管理。本方案,可以使pod内同时运行容器和虚拟机,在搭建攻防靶场时,可模拟同时运行虚拟机和容器环境的主机环境,并且基于可以支持将已有的虚拟机与容器混合应用平移至k8s集群中。群中。群中。

【技术实现步骤摘要】
混合运行虚拟机与容器的方法、装置、电子设备和可读存储介质


[0001]本专利技术涉及通信
,具体而言,涉及一种混合运行虚拟机与容器的方法、装置、电子设备和可读存储介质。

技术介绍

[0002]在使用Kubernetes(k8s)构建攻防靶场等复杂网络环境,或者将企业原有虚拟化微服务转入k8s时,需要使用k8s运行虚拟机而非docker(应用容器引擎)这样的容器。现有的Kubernetes虚拟化技术KubeVirt可以将Kubernetes变成用于应用程序容器和虚拟机工作负载的编排引擎。
[0003]但是在现有的k8s集群虚拟化的技术中采用的方式是,kubevirt以CRD形式将VM管理接口接入到kubernetes,通过一个pod去使用libvirtd管理VM方式,实现pod与VM的一对一对应,做到如同容器一般去管理虚拟机,并且做到与容器一样的资源管理、调度规划。KubeSphere虚拟化(KSV)是由KubeSphere衍生的轻量化虚拟机管理平台,支持单节点部署和多节点部署,便捷易用,满足企业级虚拟化业务需求。Harvester是由Rancher Labs所推出的通过Kubernetes构建的超融合基础架构(HCI)软件,在裸机服务器上提供完全集成的存储和虚拟化功能。
[0004]现有的技术方案中,Kubevirt虽然可以完成同一k8s集群同时运行虚拟机与容器的需求,但该技术实现是以pod作为虚拟机或者容器的最小单位。kubvirt并不能将虚拟机与容器运行在同一pod内,在使用k8s构建攻防靶场虚拟化环境时,不能对主机内同时运行虚拟机与docker容器的环境进行仿真。KSV和Harvestr这两个k8s虚拟化管理平台不支持管理虚拟机与容器混合运行的k8s集群。

技术实现思路

[0005]本专利技术的目的包括,例如,提供了一种混合运行虚拟机与容器的方法、装置、电子设备和可读存储介质,其能够在Pod内同时运行容器和虚拟机。
[0006]本专利技术的实施例可以这样实现:
[0007]第一方面,本专利技术提供一种混合运行虚拟机与容器的方法,应用于k8s服务器,所述k8s服务器包括k8s服务接口、virt控制器、virt操作器和virt启动器,所述方法包括:
[0008]所述k8s服务接口接收到客户端发送的VMI创建命令时,基于所述VMI创建命令进行VMI的创建;
[0009]所述virt控制器监听到VMI创建时,根据VMI规格文件生成pod规格文件,并根据所述pod规格文件创建pod,在pod创建后根据pod的调度节点更新VMI的节点名称;
[0010]所述virt操作器监听到VMI的节点名称与自身所在节点匹配时,与所述pod内的virt启动器建立通信;
[0011]所述virt启动器在与所述virt操作器通信后,创建虚拟机并进行所述虚拟机的生
命周期管理。
[0012]在可选的实施方式中,所述VMI创建命令中包括CRD配置参数,所述CRD配置参数包括指定的pod、pod网桥以及虚拟机的IP地址。
[0013]在可选的实施方式中,所述根据所述pod规格文件创建pod的步骤,包括:
[0014]所述virt控制器通过查找所述CRD配置参数以确定是否存在指定的pod;
[0015]若存在指定的pod,则在指定的pod内创建virt启动器,并启动运行虚拟机的项目Libvirtd以及模拟处理器软件qemu的进程;
[0016]若不存在指定的pod,则直接基于所述pod规格文件创建pod。
[0017]在可选的实施方式中,每个virt启动器对应多个VMI,且所述多个VMI之间进行资源共享。
[0018]在可选的实施方式中,所述方法还包括:
[0019]所述virt控制器在创建pod后,调用虚拟交换机为所述pod生成相应的虚拟网桥。
[0020]在可选的实施方式中,所述创建虚拟机并进行所述虚拟机的生命周期管理的步骤,包括:
[0021]所述virt启动器创建虚拟机,并基于从所述virt操作器获取的CRD配置参数使用本地的libvirtd实例启动所述虚拟机,并通过虚拟交换机为所述虚拟机添加IP地址;
[0022]所述virt启动器在所述pod的生命周期结束时,通知所述虚拟机进行终止,以实现所述虚拟机的生命周期管理。
[0023]在可选的实施方式中,每个virt操作器对应一个libvirtd,通过libvirtd进行所述虚拟机的生命周期管理,以实现去中心化。
[0024]第二方面,本专利技术提供一种混合运行虚拟机与容器的装置,应用于k8s服务器,所述k8s服务器包括k8s服务接口、virt控制器、virt操作器和virt启动器,所述装置包括:
[0025]创建模块,用于通过所述k8s服务接口接收到客户端发送的VMI创建命令时,基于所述VMI创建命令进行VMI的创建;
[0026]创建模块,还用于通过所述virt控制器监听到VMI创建时,根据VMI规格文件生成pod规格文件,并根据所述pod规格文件创建pod,在pod创建后根据pod的调度节点更新VMI的节点名称;
[0027]建立模块,用于通过所述virt操作器监听到VMI的节点名称与自身所在节点匹配时,与所述pod内的virt启动器建立通信;
[0028]管理模块,用于通过所述virt启动器在与所述virt操作器通信后,创建虚拟机并进行所述虚拟机的生命周期管理。
[0029]第三方面,本专利技术提供一种电子设备,所述电子设备包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述电子设备执行如前述实施方式中任意一项所述的混合运行虚拟机与容器的方法。
[0030]第四方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现如前述实施方式中任一项所述混合运行虚拟机与容器的方法。
[0031]本专利技术实施例的有益效果包括,例如:
[0032]本申请提供一种混合运行虚拟机与容器的方法、装置、电子设备和可读存储介质,
通过k8s服务接口接收到客户端发送的VMI创建命令时,基于VMI创建命令进行VMI的创建;virt控制器监听到VMI创建时,根据VMI规格文件生成pod规格文件,并根据pod规格文件创建pod,在pod创建后根据pod的调度节点更新VMI的节点名称;virt操作器监听到VMI的节点名称与自身所在节点匹配时,与pod内的virt启动器建立通信;virt启动器在与virt操作器通信后,创建虚拟机并进行虚拟机的生命周期管理。本方案,可以使pod内同时运行容器和虚拟机,在搭建攻防靶场时,可模拟同时运行虚拟机和容器环境的主机环境,并且基于本方案可以支持将已有的虚拟机与容器混合应用平移至k8s集群中。
附图说明
[0033]为了更清楚地说明本专利技术实施例的技术方案,下面将对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种混合运行虚拟机与容器的方法,其特征在于,应用于k8s服务器,所述k8s服务器包括k8s服务接口、virt控制器、virt操作器和virt启动器,所述方法包括:所述k8s服务接口接收到客户端发送的VMI创建命令时,基于所述VMI创建命令进行VMI的创建;所述virt控制器监听到VMI创建时,根据VMI规格文件生成pod规格文件,并根据所述pod规格文件创建pod,在pod创建后根据pod的调度节点更新VMI的节点名称;所述virt操作器监听到VMI的节点名称与自身所在节点匹配时,与所述pod内的virt启动器建立通信;所述virt启动器在与所述virt操作器通信后,创建虚拟机并进行所述虚拟机的生命周期管理。2.根据权利要求1所述的混合运行虚拟机与容器的方法,其特征在于,所述VMI创建命令中包括CRD配置参数,所述CRD配置参数包括指定的pod、pod网桥以及虚拟机的IP地址。3.根据权利要求2所述的混合运行虚拟机与容器的方法,其特征在于,所述根据所述pod规格文件创建pod的步骤,包括:所述virt控制器通过查找所述CRD配置参数以确定是否存在指定的pod;若存在指定的pod,则在指定的pod内创建virt启动器,并启动运行虚拟机的项目Libvirtd以及模拟处理器软件qemu的进程;若不存在指定的pod,则直接基于所述pod规格文件创建pod。4.根据权利要求1所述的混合运行虚拟机与容器的方法,其特征在于,每个virt启动器对应多个VMI,且所述多个VMI之间进行资源共享。5.根据权利要求1所述的混合运行虚拟机与容器的方法,其特征在于,所述方法还包括:所述virt控制器在创建pod后,调用虚拟交换机为所述pod生成相应的虚拟网桥。6.根据权利要求1所述的混合运行虚拟机与容器的方法,其特征在于,所述创建虚拟机并进行所述虚拟机的生命周期...

【专利技术属性】
技术研发人员:朱祁龙赵伟杨冀龙
申请(专利权)人:北京知道未来信息技术有限公司
类型:发明
国别省市:

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

1