本技术涉及云计算,尤其涉及一种基于kubevirt的物理网卡直通虚拟机的生命周期管理方法及装置。
背景技术:
1、kubevirt:是一个基于kubernetes集群的开源项目。它允许在kubern etes集群中运行和管理传统虚拟机,使虚拟化和容器化工作负载可以共存。sr-iov(single root i/ovirtualization):是一种硬件虚拟化技术,它允许物理设备(如网卡)在虚拟化环境中直接分配给虚拟机,而不是通过软件虚拟交换机进行中转,以提供容器级别的高性能网络访问。二者均是与容器和虚拟化相关的重要技术,它们的结合可以在kubernetes集群中实现高性能的虚拟机和容器网络连接。kubevirt通过将虚拟机资源抽象为kuberne tes对象,提供云原生的管理和编排方式,从而实现虚拟机与容器化应用的协同工作,增强了整个云原生堆栈的灵活性与统一性。sr-iov技术则通过在物理网卡上划分虚拟功能(vf)来提供直接的硬件访问,提高虚拟机的网络性能和降低延迟。两者结合使用可以有效地提升云环境中的网络效率。
2、然而,当前将kubevirt与sr-iov集成的过程仍然面临一些技术挑战。首先,物理网卡的直通配置需要涉及多个组件,包括硬件设置、sr-iov网络适配器配置、sr-iov cni插件的安装及虚拟机网络附件定义(nad)创建等,整个集成过程较为复杂且易出错。其次,管理sr-iov资源时,当多个虚拟机共享虚拟功能(vf)和物理功能(pf)资源时,可能会出现资源竞争问题,导致资源无法释放或已被占用,从而影响虚拟机启动并造成失败。
3、因此,需要一种或多种方法解决上述问题。
4、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、本技术示出了一种基于kubevirt的物理网卡直通虚拟机的生命周期管理方法及装置。
2、第一方面,本技术示出了一种基于kubevirt的物理网卡直通虚拟机的生命周期管理方法,所述方法包括:
3、基于网络规划需求,通过对虚拟机的网卡进行资源配置,生成sr-iov方案;
4、基于所述sr-iov方案,通过对物理服务器硬件进行自动化配置管理,生成物理网卡配置信息;
5、基于所述物理网卡配置信息,通过kubernetes网络组件对物理宿主机的虚拟功能资源进行部署,生成插件管理信息;
6、基于所述插件管理信息,通过对虚拟机进行sr-iov网卡的加载管理,生成虚拟资源分配信息,并基于所述虚拟资源分配信息,完成对物理网卡直通虚拟机的生命周期管理。
7、在本公开的一种示例性实施例中,通过对虚拟机网卡进行资源配置,包括:
8、基于vpc内部网络架构协议,通过ovn对虚拟机进行默认主网卡的分配,生成虚拟主网卡;
9、基于所述虚拟主网卡,通过对网络环境进行评估后使用sr-iov虚拟化技术对虚拟机的附网卡进行配置,生成网络规划方案;
10、基于所述网络规划方案,通过对虚拟机的虚拟功能和物理功能的资源进行配置,生成sr-iov方案。
11、在本公开的一种示例性实施例中,通过对物理服务器硬件进行自动化配置管理,包括:
12、基于所述sr-iov方案,通过在物理服务器上对vfio-pci驱动进行加载与配置,生成vfio-pci驱动自加载信息;
13、基于所述vfio-pci驱动自加载信息,通过对所述物理服务器的物理网卡进行虚拟功能配置,生成虚拟功能网卡;
14、基于所述vfio-pci驱动自加载信息,通过将所述虚拟功能网卡与所述vfio-pci驱动进行绑定,生成物理网卡配置信息。
15、在本公开的一种示例性实施例中,通过kubernetes网络组件对物理宿主机的虚拟功能资源进行部署,包括:
16、基于所述物理网卡配置信息,生成可视化的图形界面,且通过对用户操作需求的所述图形界面进行设置;
17、基于所述物理网卡配置信息,通过对插件网络部署与kubernetes集群之间的交互过程进行规划,生成交互规划机制;
18、基于所述交互规划机制,通过将预设网络配置参数与预设网络插件进行绑定,生成插件存储库。
19、在本公开的一种示例性实施例中,通过kubernetes网络组件对物理宿主机的虚拟功能资源进行部署,包括:
20、基于在所述图形界面输入的网络配置参数,通过所述插件存储库对所述网络配置参数进行匹配,获取绑定的网络插件,生成插件自动部署信息;
21、基于所述插件自动部署信息,通过对物理宿主机的虚拟功能资源进行扫描,生成宿主机虚拟功能资源,并通过对所述宿主机虚拟功能资源进行管理,生成插件管理信息。
22、在本公开的一种示例性实施例中,通过对虚拟机进行sr-iov网卡的加载管理,生成虚拟资源分配信息,包括:
23、基于网络负载需求,通过对虚拟机是否需要加载直通网卡进行判断,当所述虚拟机不需要加载直通网卡时,所述虚拟机使用当前虚拟网络接口;
24、当所述虚拟机需要加载直通网卡时,基于所述插件管理信息,通过kubernetes网络组件与所述物理宿主机进行交互,生成直通网卡需求信息;
25、基于所述直通网卡需求信息,通过对sr-iov参数进行资源配置,生成sr-iov管理资源;
26、基于所述sr-iov管理资源,通过对sr-iov网卡进行mac地址的分配,生成sr-iov网卡mac地址。
27、在本公开的一种示例性实施例中,通过对虚拟机进行sr-iov网卡的加载管理,生成虚拟资源分配信息,包括:
28、基于所述sr-iov网卡mac地址,通过对虚拟功能资源的占用情况进行管理,生成虚拟资源占用管理信息;
29、基于所述sr-iov网卡mac地址,通过对占用的虚拟功能资源进行保护管理,生成虚拟资源保护管理信息;
30、基于所述sr-iov网卡mac地址,通过对虚拟功能资源的回收再利用进行管理,生成虚拟资源回收管理信息;
31、通过对所述虚拟资源占用管理信息、虚拟资源保护管理信息、虚拟资源回收管理信息进行整合,生成虚拟资源分配信息,基于所述虚拟资源分配信息,完成对物理网卡直通虚拟机的生命周期管理。
32、第二方面,本技术示出了一种基于kubevirt的物理网卡直通虚拟机的生命周期管理装置,所述装置包括:
33、网卡规划模块,用于对虚拟机的网卡进行资源配置;
34、硬件自动配置模块,用于对物理服务器硬件进行自动化配置管理;
35、网络组件自动部署模块,用于通过kubernetes网络组件对物理宿主机的虚拟功能资源进行部署;
36、sr-iov网卡加载管理模块,用于对虚拟机进行sr-iov网卡的加载管理,生成虚拟资源分配信息,并基于所述虚拟资源分配信息,完成对物理网卡直通虚拟机的生命周期管理。
37、第三方面,本技术示出了一种电子设备,所述电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行如上述任一方面所述的方法。
38、第四方面,本技术示出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一方面所述的方法。
39、第五方面,本技术示出了一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一方面所述的方法。
40、本技术提供的技术方案可以包括以下有益效果:
41、基于本公开实施例,首先,根据网络规划需求,通过对虚拟机的网卡进行资源配置,生成sr-iov方案。之后,基于该sr-iov方案,通过对物理服务器硬件进行自动化配置管理,生成物理网卡配置信息。基于该信息,通过kubernetes网络组件对物理宿主机的虚拟功能资源进行部署,生成插件管理信息。最后,基于插件管理信息,通过对虚拟机进行sr-iov网卡的加载管理,生成虚拟资源分配信息,完成对物理网卡直通虚拟机的生命周期管理。由此,本公开实施例提供了简化的直通网卡配置和部署方案,以减少物理网卡直通虚拟机过程中的手动操作、硬件兼容性检查和配置文件修改。实现了硬件驱动的自加载和直通网卡的开机自加载,确保了虚拟机动态加载直通网卡功能,简化了sr-iov网卡资源的自动部署与管理的配置流程,优化了虚拟网络资源的利用率。