CN114244717B - 虚拟网卡资源的配置方法、装置、计算机设备及介质 - Google Patents

虚拟网卡资源的配置方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN114244717B
CN114244717B CN202210183411.3A CN202210183411A CN114244717B CN 114244717 B CN114244717 B CN 114244717B CN 202210183411 A CN202210183411 A CN 202210183411A CN 114244717 B CN114244717 B CN 114244717B
Authority
CN
China
Prior art keywords
virtual network
network card
cards
group
target
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
CN202210183411.3A
Other languages
English (en)
Other versions
CN114244717A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210183411.3A priority Critical patent/CN114244717B/zh
Publication of CN114244717A publication Critical patent/CN114244717A/zh
Application granted granted Critical
Publication of CN114244717B publication Critical patent/CN114244717B/zh
Priority to PCT/CN2022/132148 priority patent/WO2023160033A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting

Abstract

本发明提供一种虚拟网卡资源的配置方法,包括:整合容器组所在节点中的多个虚拟网卡,得到包括多个虚拟网卡组的虚拟网卡集。从虚拟网卡集中为容器组分配目标虚拟网卡组。解析目标虚拟网卡组,得到目标虚拟网卡组中目标虚拟网卡的地址信息。根据地址信息,为容器组配置虚拟网卡资源。通过本发明,能够预先将容器组所在节点内的多个虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集,进而为容器组配置虚拟网卡资源时,能够以组为单位为容器组分配目标虚拟网卡,使容器组能够快速获取虚拟网卡资源,提高配置效率的同时,有助于避免或者减少人工干预,从而使虚拟网卡资源的配置过程更便捷、智能。

Description

虚拟网卡资源的配置方法、装置、计算机设备及介质
技术领域
本发明涉及计算机虚拟化技术领域,具体涉及一种虚拟网卡资源的配置方法、装置、计算机设备及介质。
背景技术
随着容器技术在企业生产中逐步落地,用户对容器云的网络特性的要求也越来越高。因此,kubernetes技术应运而生,实现了服务的抽象、解耦、高扩展、统一调度与集中化管理。其中,Kubernetes是一种开源的容器编排引擎,用来对容器化应用进行自动化部署、扩缩和管理;Pod是Kubernetes中可被调度的最小调度单元,可以理解为是包括至少一个容器的容器组。
在Kubernetes集群中,容器组可以基于加载的虚拟网卡与其他容器组进行通讯访问或者数据交互。相关技术中,容器组所加载的虚拟网卡资源是预先从容器组所在节点内的多个虚拟网卡中,通过人工逐一对比、筛选,确定待分配至容器组的虚拟网卡,进而将其配置于容器组,以便容器组进行加载。
但采用该种方式为容器组配置虚拟网卡,由于需要人工筛选,导致配置效率低。且当容器组需要加载多个虚拟网卡时,则需要消耗大量的配置时间,导致时间成本过高,进而影响虚拟网卡资源的加载效率。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中为容器组配置待加载的虚拟网卡需要人工干预且配置效率低的缺陷,从而提供一种虚拟网卡资源的配置方法、装置、计算机设备及介质。
在第一方面,本发明提供一种虚拟网卡资源的配置方法,所述方法包括:
整合容器组所在节点中的多个虚拟网卡,得到包括多个虚拟网卡组的虚拟网卡集;
从所述虚拟网卡集中为所述容器组分配目标虚拟网卡组;
解析所述目标虚拟网卡组,得到所述目标虚拟网卡组中目标虚拟网卡的地址信息;
根据所述地址信息,为所述容器组配置虚拟网卡资源。
在该方式中,能够预先将容器组所在节点内的多个虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集,进而为容器组配置虚拟网卡资源时,能够以组为单位为容器组分配目标虚拟网卡,使容器组能够快速获取虚拟网卡资源,提高配置效率的同时,有助于避免或者减少人工干预,从而使虚拟网卡资源的配置过程更便捷、智能。
结合第一方面,在第一方面的第一实施例中,所述整合容器组所在节点中的多个虚拟网卡,得到包括多个虚拟网卡组的虚拟网卡集,包括:
基于容器组所在节点中的物理网卡,确定所述容器组所在节点中包括的物理网卡信息;
对所述物理网卡信息中包括的每一个物理网卡进行虚拟化处理,得到每一个物理网卡对应的多个虚拟网卡;
将各所述虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集;
其中,每一虚拟网卡组中包括多个虚拟网卡,不同的虚拟网卡对应不同的物理网卡。
在该方式中,在整合虚拟网卡组时,是将各虚拟网卡对应的物理网卡进行整合,进而分配虚拟网卡组时,能够充分利用各物理网卡的网卡资源。
结合第一方面的第一实施例,在第一方面的第二实施例中,所述物理网卡信息包括所述物理网卡的网卡数量,所述将各所述虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集,包括:
根据所述网卡数量,确定与所述物理网卡数量相同数量的网段;
建立虚拟网卡与网段之间的对应关系,其中,同一物理网卡对应的多个虚拟网卡的网段相同;
将网段不同的虚拟网卡整合至同一虚拟网卡组中,得到包括多个虚拟网卡组的虚拟网卡集。
结合第一方面的第二实施例,在第一方面的第三实施例中,所述目标虚拟网卡组中包括多个目标虚拟网卡,所述解析所述目标虚拟网卡组,得到所述目标虚拟网卡组中目标虚拟网卡的地址信息,包括:
解析所述目标虚拟网卡组,确定所述目标虚拟网卡组中包括的多个目标虚拟网卡;
根据虚拟网卡与网段之间的对应关系,确定每一个目标虚拟网卡对应的目标网段;
根据各目标虚拟网卡以及各目标虚拟网卡对应的目标网段,得到所述目标虚拟网卡组中每一个目标虚拟网卡的地址信息。
结合第一方面的第三实施例,在第一方面的第四实施例中,所述根据所述地址信息,为所述容器组配置虚拟网卡资源,包括:
根据所述地址信息,分别构建各所述目标虚拟网卡的网络代理配置;
通过所述网络代理配置,为所述容器组配置虚拟网卡资源。
结合第一方面的第二实施例,在第一方面的第五实施例中,所述方法还包括:
创建并存储各所述虚拟网卡组的标识,以便通过所述标识确定待分配的目标虚拟网卡组。
结合第一方面,在第一方面的第六实施例中,所述从所述虚拟网卡集中为所述容器组分配目标虚拟网卡组,包括:
根据容器组的预置配置文件,确定所述容器组的虚拟网卡资源需求;
根据所述虚拟网卡资源需求,从所述虚拟网卡集中为所述容器组分配目标虚拟网卡组。
在第二方面,本发明还提供一种虚拟网卡资源的配置装置,所述装置包括:
获取单元,用于整合容器组所在节点中的多个虚拟网卡,得到包括多个虚拟网卡组的虚拟网卡集;
分配单元,用于从所述虚拟网卡集中为所述容器组分配目标虚拟网卡组;
解析单元,用于解析所述目标虚拟网卡组,得到所述目标虚拟网卡组中目标虚拟网卡的地址信息;
配置单元,用于根据所述地址信息,为所述容器组配置虚拟网卡资源。
结合第二方面,在第二方面的第一实施例中,所述获取单元包括:
确定单元,用于基于容器组所在节点中的物理网卡,确定所述容器组所在节点中包括的物理网卡信息;
虚拟化处理单元,用于对所述物理网卡信息中包括的每一个物理网卡进行虚拟化处理,得到每一个物理网卡对应的多个虚拟网卡;
整合单元,用于将各所述虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集;
其中,每一虚拟网卡组中包括多个虚拟网卡,不同的虚拟网卡对应不同的物理网卡。
结合第二方面的第一实施例,在第二方面的第二实施例中,所述物理网卡信息包括所述物理网卡的网卡数量,所述整合单元包括:
网段确定单元,用于根据所述网卡数量,确定与所述物理网卡数量相同数量的网段;
创建单元,用于建立虚拟网卡与网段之间的对应关系,其中,同一物理网卡对应的多个虚拟网卡的网段相同;
整合子单元,用于将网段不同的虚拟网卡整合至同一虚拟网卡组中,得到包括多个虚拟网卡组的虚拟网卡集。
结合第二方面的第二实施例,在第二方面的第三实施例中,所述目标虚拟网卡组中包括多个目标虚拟网卡,所述解析单元包括:
第一解析单元,用于解析所述目标虚拟网卡组,确定所述目标虚拟网卡组中包括的多个目标虚拟网卡;
第二解析单元,用于根据虚拟网卡与网段之间的对应关系,确定每一个目标虚拟网卡对应的目标网段;
地址信息获取单元,用于根据各目标虚拟网卡以及各目标虚拟网卡对应的目标网段,得到所述目标虚拟网卡组中每一个目标虚拟网卡的地址信息。
结合第二方面的第三实施例,在第二方面的第四实施例中,所述配置单元包括:
构建单元,用于根据所述地址信息,分别构建各所述目标虚拟网卡的网络代理配置;
配置子单元,用于通过所述网络代理配置,为所述容器组配置虚拟网卡资源。
结合第二方面的第二实施例,在第二方面的第五实施例中,所述装置还包括:
标记单元,用于创建并存储各所述虚拟网卡组的标识,以便通过所述标识确定待分配的目标虚拟网卡组。
结合第二方面,在第二方面的第六实施例中,所述分配单元包括:
需求确定单元,用于根据容器组的预置配置文件,确定所述容器组的虚拟网卡资源需求;
分配子单元,用于根据所述虚拟网卡资源需求,从所述虚拟网卡集中为所述容器组分配目标虚拟网卡组。
根据第三方面,本发明实施方式还提供一种计算机设备,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面及其可选实施方式中任一项的虚拟网卡资源的配置方法。
根据第四方面,本发明实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面及其可选实施方式中任一项的虚拟网卡资源的配置方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例提出的一种虚拟网卡资源的配置方法的流程图。
图2是根据一示例性实施例提出的一种虚拟网卡集的获取方法的流程图。
图3是根据一示例性实施例提出的一种整合虚拟网卡组的过程示意图。
图4是根据一示例性实施例提出的另一种虚拟网卡资源的配置方法的流程图。
图5是根据一示例性实施例提出的又一种虚拟网卡资源的配置方法的流程图。
图6是根据一示例性实施例提出的一种虚拟网卡资源的配置装置的结构框图。
图7是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,容器组所加载的虚拟网卡资源是预先从容器组所在节点内的多个虚拟网卡中,通过人工逐一对比、筛选,确定待分配至容器组的虚拟网卡,进而将其配置于容器组,以便容器组进行加载。但由于虚拟网卡是基于人工进行配置,进而导致虚拟网卡的配置效率较低。当容器组需要加载多个虚拟网卡时,若仍采用上述方式为容器组配置虚拟网卡资源,则需要消耗大量的配置时间,进而导致时间成本过高,影响虚拟网卡资源的加载效率。
为解决上述问题,本发明实施例中提供一种虚拟网卡资源的配置方法,用于计算机设备中,需要说明的是,其执行主体可以是虚拟网卡资源的配置装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是终端或客户端或服务器,服务器可以是一台服务器,也可以为由多台服务器组成的服务器集群,本申请实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
本实施例的计算机设备为部署kubernetes集群中的其中一个节点(宿主机),且在该计算机设备中包括至少一个物理网卡,以便为kubernetes集群中的各容器组提供网络环境。其中,物理网卡可以为单根虚拟化(Single Root I/O Virtualization,sriov)网卡,进而可以通过该物理网卡虚拟出来多个轻量化的使用PCI-e协议的物理设备,得到多个虚拟网卡。
本发明所提供的虚拟网卡资源的配置方法适用于容器组加载多个虚拟网卡资源的使用场景。通过本发明所提供的虚拟网卡资源的配置方法,能够预先将容器组所在节点内的多个虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集,进而为容器组配置虚拟网卡资源时,能够以组为单位为容器组分配目标虚拟网卡,使容器组能够快速获取虚拟网卡资源,提高配置效率的同时,有助于避免或者减少人工干预,从而使虚拟网卡资源的配置过程更便捷、智能。
图1是根据一示例性实施例提出的一种虚拟网卡资源的配置方法的流程图。如图1所示,虚拟网卡资源的配置方法包括如下步骤S101至步骤S104。
在步骤S101中,整合容器组所在节点中的多个虚拟网卡,得到包括多个虚拟网卡组的虚拟网卡集。
在本发明实施例中,容器组所在节点中包括多个虚拟网卡,为便于分配虚拟网卡资源,提高分配效率,则将多个虚拟网卡进行整合处理,将多个虚拟网卡以组的形式整合在一起,得到多个虚拟网卡组,进而后续在进行虚拟资源配置时,便可以将虚拟网卡以组的形式进行快速配置,进而为容器组快速分配多个虚拟网卡,从而达到缩短配置时间,提高配置效率的目的。
在一例中,虚拟网卡组中的部分虚拟网卡对应于节点内同一物理网卡。在另一例中,虚拟网卡组中的各虚拟网卡分别对应于节点内的不同物理网卡,进而后续在配置虚拟网卡资源时,能够充分且均衡的利用各物理网卡资源。
在步骤S102中,从虚拟网卡集中为容器组分配目标虚拟网卡组。
在本发明实施例中,目标虚拟网卡组可以为虚拟网卡集中任意一个待配置的虚拟网卡组,进而避免多个容器组共用同一个目标虚拟网卡组的情况发送。
在一实施例中,可以根据容器组的虚拟网卡资源需求为其分配目标虚拟网卡组。在创建容器组的过程中,可以将容器组的虚拟网卡资源需求写入容器组的预置配置文件(一种yaml格式的配置文件)中,以便向Kubernetes集群申请虚拟网卡资源构建容器组时,能够明确容器组所需目标虚拟网卡组。在一例中,虚拟网卡组的配置数量默认为1。
在另一实施例中,为便于分配目标虚拟网卡组,可以在各虚拟网卡组整合完成后,创建并存储各虚拟网卡组的标识,以便Kubernetes集群通过所述标识确定待分配的目标虚拟网卡组。例如:将虚拟网卡集的名称采用sriov_netdevice进行表示,各虚拟容器组采用***数字进行标识代替,例如:标识0、1、2、3分别表示4个不同的虚拟容器组。进而在构建容器组的预置配置文件时,在kubernetes集群中的虚拟网卡资源限制(spec-containers-resources)中配置“sriov_netdevice:1”即可,以便在创建容器组时,向Kubernetes集群申请将标识为1的虚拟网卡组作为该容器组的目标虚拟网卡组。
在步骤S103中,解析目标虚拟网卡组,得到目标虚拟网卡组中目标虚拟网卡的地址信息。
在本发明实施例中,由于在分配虚拟网卡资源时,是将各目标虚拟网卡以目标虚拟网卡组的形式分配至容器组。因此,为明确各目标虚拟网卡的地址信息,则将目标虚拟网卡组进行解析,以便在为容器组配置各目标虚拟网卡的虚拟网卡资源时,能够通过目标虚拟网卡的地址信息进行针对性配置。
在步骤S104中,根据地址信息,为容器组配置虚拟网卡资源。
在本发明实施例中,根据各目标虚拟网卡的地址信息,明确各目标虚拟网卡的所在位置,进而为容器组配置虚拟网卡资源时,能够进行针对性配置,从而提高配置效率和准确率。
通过上述实施例,能够预先将容器组所在节点内的多个虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集,进而为容器组配置虚拟网卡资源时,能够以组为单位为容器组分配目标虚拟网卡,使容器组能够快速获取虚拟网卡资源,提高配置效率的同时,有助于避免或者减少人工干预,从而使虚拟网卡资源的配置过程更便捷、智能。
以下实施例将具体说明虚拟网卡集的获取过程。
图2是根据一示例性实施例提出的一种虚拟网卡集的获取方法的流程图。如图2所示,虚拟网卡集的获取方法包括如下步骤。
在步骤S201中,基于容器组所在节点中的物理网卡,确定容器组所在节点中包括的物理网卡信息。
在本发明实施例中,虚拟网卡资源是通过将物理网卡进行虚拟化处理后得到的网卡资源,因此,为合理利用各物理网卡的资源,则确定当前节点中所包括的物理网卡信息,以便通过该物理网卡信息明确节点中包括的物理网卡数量。
在步骤S202中,对物理网卡信息中包括的每一个物理网卡进行虚拟化处理,得到每一个物理网卡对应的多个虚拟网卡。
在本发明实施例中,为充分利用各物理网卡所能提供的网卡资源,且容器组的数量在kubernetes集群中的数量不唯一,因此,对物理网卡信息中包括的每一个物理网卡进行虚拟化处理,得到每一个物理网卡对应的多个虚拟网卡,以便节点内的各容器组均能够得到足够的虚拟网卡资源。其中,各物理网卡对应的虚拟网卡数量相同。
在步骤S203中,将各虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集。
在本发明实施例中,每一虚拟网卡组中包括多个虚拟网卡,不同的虚拟网卡对应不同的物理网卡。将虚拟网卡组中的虚拟网卡根据不同的物理网卡进行整合,进而分配虚拟网卡组时,能够充分利用各物理网卡的网卡资源。
通过上述实施例,在整合虚拟网卡组时,是将各虚拟网卡对应的物理网卡进行整合,进而分配虚拟网卡组时,能够充分利用各物理网卡的网卡资源。
在一实施例中,同一虚拟网卡组中的各虚拟网卡分别对应于不同物理网卡,为避免在整合虚拟网卡组时无法区分各虚拟网卡对应物理网卡,进而导致重复选取同一物理网卡对应的虚拟网卡的情况,则在整合虚拟网卡的过程中,通过建立网段与虚拟网卡之间的对应关系,明确虚拟网卡来源,进而提高虚拟网卡组的整合准确度,以便后续合理利用网卡资源。
具体的,物理网卡信息包括节点中物理网卡的网卡数量,进而通过物理网卡信息,能够明确网卡数量。根据网卡数量,确定与物理网卡数量相同数量的网段。即,网段数量与物理网卡的数量相同,进而建立虚拟网卡与网段之间的对应关系时,能够通过网段区分虚拟网卡对应的物理网卡。其中,同一物理网卡对应的多个虚拟网卡的网段相同。进而将网段不同的虚拟网卡整合至同一虚拟网卡组中,得到包括多个虚拟网卡组的虚拟网卡集。
在一实施场景中,虚拟网卡组的整合过程可以如图3所示。图3是根据一示例性实施例提出的一种整合虚拟网卡组的过程示意图。为便于描述,以下将物理网卡采用pf表示,将虚拟网卡采用vf表示。将分配给物理网卡1(pf1)的网段采用net1表示,将分配给物理网卡2(pf2)的网段采用net2表示。pf1经过虚拟化处理后得到的虚拟显卡采用pf1-n表示,n≥1,pf2经过虚拟化处理后得到的虚拟显卡采用pf2-n表示,n≥1。
根据物理网卡信息,若确定节点中包括两个pf,则划分两个网段用于与各pf对应的vf建立对应关系。例如:将net1(12.0.0.0/24)与pf1中的各vf建立对应关系,将net2(13.0.0.0/24)与pf2中的各vf建立对应关系。对应关系可以如下:pf1:{vf1-1,vf1-2,… ,vf1-n} -- 12.0.0.0/24(net1),pf2:{vf1-1,vf1-2,… ,vf1-n} -- 13.0.0.0/24(net2)。进而将各虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集:[vf1-1@net1/vf2-1@net2, vf1-2@net1/vf2-2@net2, …, vf1-n@net1/vf2-n@net2]。其中,vf1-1@net1/vf2-1@net2、vf1-2@net1/vf2-2@net2 … vf1-n@net1/vf2-n@net2分别表示各个虚拟网卡组。
在一实施例中,由于目标虚拟网卡组中各目标虚拟网卡与网段具有对应关系,进而为快速定位各目标虚拟网卡,则将分配至容器组的目标虚拟网卡组进行解析,确定目标虚拟网卡组中包括的多个目标虚拟网卡,进而根据虚拟网卡与网段之间的对应关系,确定每一个目标虚拟网卡对应的目标网段,从而根据各目标虚拟网卡以及各目标虚拟网卡对应的目标网段,得到目标虚拟网卡组中每一个目标虚拟网卡的地址信息。例如:以vf1-1@net1/vf2-1@net2为目标虚拟网卡组为例,在解析该目标虚拟网卡组时,将vf1-1@net1/vf2-1@net2以“/”分割打算,得到目标虚拟网卡vf1-1@net1和目标虚拟网卡vf2-1@net2,进而通过“@”明确各目标虚拟网卡对应的目标网段,从而根据vf1-1@net1和@net1得到vf1-1的地址信息,根据vf2-1@net2和@net2得到vf1-2的地址信息。
在另一实施例中,当确定地址信息后,在为容器组配置虚拟网卡资源时,可以根据地址信息,分别构建各目标虚拟网卡的网络代理配置,以便通过网络代理配置,为容器组配置虚拟网卡资源,从而实现虚拟网卡资源的快速配置。在一实施场景中,可以通过节点中的多容器网络接口(multus-Container Network Interface,multus-cni)组件解析目标虚拟网卡组,进而通过sriov-cni插件,根据目标虚拟网卡的地址信息,在节点底层为容器组配置虚拟网卡资源。
在一实施场景中,虚拟网卡资源的配置方法可以如图4所示。图4是根据一示例性实施例提出的另一种虚拟网卡资源的配置方法的流程图。
在网卡驱动程序(sriov-device-plugin,sriov-dp)组件中将节点中包括的多个物理网卡进行整合,并将各物理网卡进行虚拟化处理,得到多个虚拟网卡,将物理网卡与其对应的多个虚拟网卡进行绑定上报至kubelet(节点上用于运行kubernetes集群的节点代理)中,并根据容器组的预置配置文件中虚拟网卡资源需求,为容器组分配目标虚拟网卡组。通过multus-cni解析目标虚拟网卡组,确定各目标虚拟网卡,进而由sriov-cni根据目标虚拟网卡的地址信息,在节点底层为容器组配置虚拟网卡资源。其中,calico是一种网络插件,用于为虚拟网卡所在的虚拟机和容器组提供多主机间通信。Wherea bouts用于跟踪网络源码。
在另一实施场景中,本发明所提供的任意一种虚拟网卡资源的配置方法,可以适用于在kubernetes集群中进行深度学习训练,使用远程直接数据存取(Remote DirectMemory Access,rdma)技术进行远程直接访问内存或者数据交互的使用场景中。
在又一实施场景中,虚拟网卡资源的配置方法可以如图5所示。图5是根据一示例性实施例提出的又一种虚拟网卡资源的配置方法的流程图。
在步骤S501中,将节点中的各物理网卡进行虚拟化处理,得到多个虚拟网卡。
在本发明实施例中,各物理网卡通过虚拟化处理得到的虚拟网卡数量相同。
在一实施例中,若在kubernetes集群中包括多个节点,则遍历各节点,确定各节点的物理网卡信息,明确各节点中包括的物理网卡数量。例如节点上有pf1,pf2两个物理网卡。
在步骤S502中,为多个虚拟网卡划分网段。
在本发明实施例中,根据节点中物理网卡的网卡数量,确定与该网卡数量相同的多个网段,进而建立虚拟网卡与网段之间的对应关系时,将同一物理网卡划分的多个虚拟网卡与同一网段建立对应关系。即,同一物理网卡对应的多个虚拟网卡的网段相同,不同物理网卡对应的多个虚拟网卡的网段不同,以便后续能够通过网段为容器组配置虚拟网卡。
在步骤S503中,将各虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集。
在本发明实施例中,为便于kubernetes集群能够识别该虚拟网卡集,进而为容器组分配目标容器组,则将整合后的虚拟网卡集注册至kubernetes集群中,并设置虚拟网卡集的资源名称(例如:设置为sriov_netdevice),各虚拟容器组采用***数字进行标识代替,进而在kubernetes集群中便拥有多个虚拟网卡组资源。在构建容器组的预置配置文件时,在kubernetes集群中的虚拟网卡资源限制(spec-containers-resources)中配置“sriov_netdevice:1”即可,以便在创建容器组时,向Kubernetes集群申请将标识为1的虚拟网卡组作为该容器组的目标虚拟网卡组。
在步骤S504中,从虚拟网卡集中为容器组分配目标虚拟网卡组。
在本发明实施例中,若kubernetes集群中有容器组申请虚拟网卡资源需求(例如:申请网卡驱动设备(sriov_netdevice)资源),则从已经注册到Kubernetes集群中的sriov_netdevice选择一个虚拟网卡组作为目标虚拟网卡组进行分配,例如:将vf1-1@net1/vf2-1@net2作为目标虚拟网卡组。
在步骤S505中,通过解析目标虚拟网卡组,为容器组配置虚拟网卡资源。
在一实施场景中,可以通过构建容器组nccl环境变量,让nccl能够通过多个目标虚拟网卡配置多个图形处理器(graphics processing unit,GPU)的通讯环境。其中,nccl为Nvidia英伟达的Multi-GPU多卡通信框架(Nvidia Collective multi-GPUCommunication Library)的简称。则在构建环境变量时,基于目标虚拟网卡进行构建。例如:环境变量如下:CONTAINER_NCCL_INFO=/etc/nccl.conf,其中nccl.conf文件中的内容格式为:NCCL_IB_HCA=vf1-1,vf2-1。在一例中,GPU通信环境的构建数量与目标虚拟网卡的数量相同,进而有助于增加GPU的通讯效率,从而有助于加速深度学习训练。
通过上述实施例,通过抽象化物理网卡,对多个物理网卡的虚拟网卡资源进行整合管理,能够将深度学习训练的目标虚拟网卡绑定到容器组的环境变量中,进而在multu-cni组件中对目标虚拟网卡组进行解析,逐一将多个目标虚拟网卡配置到容器中,从而有助于增加业务逻辑的抽象性,达到高内聚低耦合的效果,同时也有助于减轻配置kubernetes集群中各容器组虚拟网卡资源的冗余操作。
基于相同发明构思,本发明还提供一种虚拟网卡资源的配置装置。
图6是根据一示例性实施例提出的一种虚拟网卡资源的配置装置的结构框图。如图6所示,虚拟网卡资源的配置装置包括获取单元601、分配单元602、解析单元603和配置单元604。
获取单元601,用于整合容器组所在节点中的多个虚拟网卡,得到包括多个虚拟网卡组的虚拟网卡集;
分配单元602,用于从虚拟网卡集中为容器组分配目标虚拟网卡组;
解析单元603,用于解析目标虚拟网卡组,得到目标虚拟网卡组中目标虚拟网卡的地址信息;
配置单元604,用于根据地址信息,为容器组配置虚拟网卡资源。
在一实施例中,获取单元601包括:确定单元,用于基于容器组所在节点中的物理网卡,确定容器组所在节点中包括的物理网卡信息。虚拟化处理单元,用于对所述物理网卡信息中包括的每一个物理网卡进行虚拟化处理,得到每一个物理网卡对应的多个虚拟网卡。整合单元,用于将各虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集。其中,每一虚拟网卡组中包括多个虚拟网卡,不同的虚拟网卡对应不同的物理网卡。
在另一实施例中,物理网卡信息包括物理网卡的网卡数量,整合单元包括:网段确定单元,用于根据网卡数量,确定与物理网卡数量相同数量的网段。创建单元,用于建立虚拟网卡与网段之间的对应关系,其中,同一物理网卡对应的多个虚拟网卡的网段相同。整合子单元,用于将网段不同的虚拟网卡整合至同一虚拟网卡组中,得到包括多个虚拟网卡组的虚拟网卡集。
在又一实施例中,目标虚拟网卡组中包括多个目标虚拟网卡,解析单元包括:第一解析单元,用于解析目标虚拟网卡组,确定目标虚拟网卡组中包括的多个目标虚拟网卡。第二解析单元,用于根据虚拟网卡与网段之间的对应关系,确定每一个目标虚拟网卡对应的目标网段。地址信息获取单元,用于根据各目标虚拟网卡以及各目标虚拟网卡对应的目标网段,得到目标虚拟网卡组中每一个目标虚拟网卡的地址信息。
在又一实施例中,配置单元604包括:构建单元,用于根据地址信息,分别构建各目标虚拟网卡的网络代理配置。配置子单元,用于通过网络代理配置,为容器组配置虚拟网卡资源。
在又一实施例中,装置还包括:标记单元,用于创建并存储各虚拟网卡组的标识,以便通过标识确定待分配的目标虚拟网卡组。
在又一实施例中,分配单元602包括:需求确定单元,用于根据容器组的预置配置文件,确定容器组的虚拟网卡资源需求。分配子单元,用于根据虚拟网卡资源需求,从虚拟网卡集中为容器组分配目标虚拟网卡组。
上述虚拟网卡资源的配置装置的具体限定以及有益效果可以参见上文中对于虚拟网卡资源的配置方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图7是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。如图7所示,该设备包括一个或多个处理器710以及存储器720,存储器720包括持久内存、易失内存和硬盘,图7中以一个处理器710为例。该设备还可以包括:输入装置730和输出装置740。
处理器710、存储器720、输入装置730和输出装置740可以通过总线或者其他方式连接,图7中以通过总线连接为例。
处理器710可以为中央处理器(Central Processing Unit,CPU)。处理器710还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器720作为一种非暂态计算机可读存储介质,包括持久内存、易失内存和硬盘,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的业务管理方法对应的程序指令/模块。处理器710通过运行存储在存储器720中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述任意一种虚拟网卡资源的配置方法。
存储器720可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据、需要使用的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器720可选包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
一个或者多个模块存储在存储器720中,当被一个或者多个处理器710执行时,执行如图1-图4所示的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图1-图4所示的实施例中的相关描述。
本发明实施例还提供了一种非暂态计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的认证方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (9)

1.一种虚拟网卡资源的配置方法,其特征在于,所述方法包括:
整合容器组所在节点中的多个虚拟网卡,得到包括多个虚拟网卡组的虚拟网卡集;
从所述虚拟网卡集中为所述容器组分配目标虚拟网卡组;
解析所述目标虚拟网卡组,得到所述目标虚拟网卡组中目标虚拟网卡的地址信息;
根据所述地址信息,为所述容器组配置虚拟网卡资源;
其中,所述整合容器组所在节点中的多个虚拟网卡,得到包括多个虚拟网卡组的虚拟网卡集,包括:基于容器组所在节点中的物理网卡,确定所述容器组所在节点中包括的物理网卡信息;对所述物理网卡信息中包括的每一个物理网卡进行虚拟化处理,得到每一个物理网卡对应的多个虚拟网卡;将各所述虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集;其中,每一虚拟网卡组中包括多个虚拟网卡,不同的虚拟网卡对应不同的物理网卡。
2.根据权利要求1所述的方法,其特征在于,所述物理网卡信息包括所述物理网卡的网卡数量,所述将各所述虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集,包括:
根据所述网卡数量,确定与所述物理网卡数量相同数量的网段;
建立虚拟网卡与网段之间的对应关系,其中,同一物理网卡对应的多个虚拟网卡的网段相同;
将网段不同的虚拟网卡整合至同一虚拟网卡组中,得到包括多个虚拟网卡组的虚拟网卡集。
3.根据权利要求2所述的方法,其特征在于,所述目标虚拟网卡组中包括多个目标虚拟网卡,所述解析所述目标虚拟网卡组,得到所述目标虚拟网卡组中目标虚拟网卡的地址信息,包括:
解析所述目标虚拟网卡组,确定所述目标虚拟网卡组中包括的多个目标虚拟网卡;
根据虚拟网卡与网段之间的对应关系,确定每一个目标虚拟网卡对应的目标网段;
根据各目标虚拟网卡以及各目标虚拟网卡对应的目标网段,得到所述目标虚拟网卡组中每一个目标虚拟网卡的地址信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述地址信息,为所述容器组配置虚拟网卡资源,包括:
根据所述地址信息,分别构建各所述目标虚拟网卡的网络代理配置;
通过所述网络代理配置,为所述容器组配置虚拟网卡资源。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
创建并存储各所述虚拟网卡组的标识,以便通过所述标识确定待分配的目标虚拟网卡组。
6.根据权利要求1所述的方法,其特征在于,所述从所述虚拟网卡集中为所述容器组分配目标虚拟网卡组,包括:
根据容器组的预置配置文件,确定所述容器组的虚拟网卡资源需求;
根据所述虚拟网卡资源需求,从所述虚拟网卡集中为所述容器组分配目标虚拟网卡组。
7.一种虚拟网卡资源的配置装置,其特征在于,所述装置包括:
获取单元,用于整合容器组所在节点中的多个虚拟网卡,得到包括多个虚拟网卡组的虚拟网卡集;
分配单元,用于从所述虚拟网卡集中为所述容器组分配目标虚拟网卡组;
解析单元,用于解析所述目标虚拟网卡组,得到所述目标虚拟网卡组中目标虚拟网卡的地址信息;
配置单元,用于根据所述地址信息,为所述容器组配置虚拟网卡资源;
其中,所述获取单元包括:确定单元,用于基于容器组所在节点中的物理网卡,确定所述容器组所在节点中包括的物理网卡信息;虚拟化处理单元,用于对所述物理网卡信息中包括的每一个物理网卡进行虚拟化处理,得到每一个物理网卡对应的多个虚拟网卡;整合单元,用于将各所述虚拟网卡进行整合,得到包括多个虚拟网卡组的虚拟网卡集;其中,每一虚拟网卡组中包括多个虚拟网卡,不同的虚拟网卡对应不同的物理网卡。
8.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-6中任一项所述的虚拟网卡资源的配置方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的虚拟网卡资源的配置方法。
CN202210183411.3A 2022-02-28 2022-02-28 虚拟网卡资源的配置方法、装置、计算机设备及介质 Active CN114244717B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210183411.3A CN114244717B (zh) 2022-02-28 2022-02-28 虚拟网卡资源的配置方法、装置、计算机设备及介质
PCT/CN2022/132148 WO2023160033A1 (zh) 2022-02-28 2022-11-16 虚拟网卡资源的配置方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210183411.3A CN114244717B (zh) 2022-02-28 2022-02-28 虚拟网卡资源的配置方法、装置、计算机设备及介质

Publications (2)

Publication Number Publication Date
CN114244717A CN114244717A (zh) 2022-03-25
CN114244717B true CN114244717B (zh) 2022-05-20

Family

ID=80748207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210183411.3A Active CN114244717B (zh) 2022-02-28 2022-02-28 虚拟网卡资源的配置方法、装置、计算机设备及介质

Country Status (2)

Country Link
CN (1) CN114244717B (zh)
WO (1) WO2023160033A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114244717B (zh) * 2022-02-28 2022-05-20 苏州浪潮智能科技有限公司 虚拟网卡资源的配置方法、装置、计算机设备及介质
CN114928490B (zh) * 2022-05-20 2023-08-15 国网江苏省电力有限公司 容器场景下的多端网络管控方法、装置、存储介质和电子设备
CN115102877B (zh) * 2022-05-23 2023-08-04 苏州浪潮智能科技有限公司 一种虚拟网卡网络检测方法、装置、设备及介质
CN115913937B (zh) * 2023-01-09 2023-05-23 苏州浪潮智能科技有限公司 一种容器多网卡网络配置方法、装置、设备及存储介质
CN117692322B (zh) * 2024-01-30 2024-04-23 苏州元脑智能科技有限公司 网卡配置方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168135A (zh) * 2014-08-06 2014-11-26 中国船舶重工集团公司第七0九研究所 网卡资源池化管理方法及***
CN106060122A (zh) * 2016-05-20 2016-10-26 北京奇虎科技有限公司 Docker容器上传/下载特性的控制方法及装置
CN107666446A (zh) * 2017-09-14 2018-02-06 北京京东尚科信息技术有限公司 下行流量、上行流量、双向流量限制方法和装置
CN107678836A (zh) * 2017-10-12 2018-02-09 新华三大数据技术有限公司 集群的测试数据获取方法及装置
CN112925581A (zh) * 2021-02-22 2021-06-08 百果园技术(新加坡)有限公司 Dpdk容器的启动方法、装置及电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260588B2 (en) * 2009-10-16 2012-09-04 Oracle America, Inc. Virtualizing complex network topologies
CN104468311A (zh) * 2014-11-18 2015-03-25 浪潮(北京)电子信息产业有限公司 一种物理网卡虚拟成多个虚拟网卡的方法及***
CN105430110A (zh) * 2015-10-30 2016-03-23 浪潮(北京)电子信息产业有限公司 一种虚拟网络***的容器配置方法及网络传输装置
CN109587281B (zh) * 2017-09-29 2020-07-28 华为技术有限公司 容器配置方法和计算节点
CN110138606B (zh) * 2019-05-06 2022-03-15 携程旅游信息技术(上海)有限公司 容器网络配置方法及***
CN113535319A (zh) * 2020-04-09 2021-10-22 深圳致星科技有限公司 一种实现多rdma网卡虚拟化的方法、设备及存储介质
CN113746676B (zh) * 2021-09-01 2023-09-01 京东科技信息技术有限公司 基于容器集群的网卡管理方法、装置、设备、介质及产品
CN114244717B (zh) * 2022-02-28 2022-05-20 苏州浪潮智能科技有限公司 虚拟网卡资源的配置方法、装置、计算机设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168135A (zh) * 2014-08-06 2014-11-26 中国船舶重工集团公司第七0九研究所 网卡资源池化管理方法及***
CN106060122A (zh) * 2016-05-20 2016-10-26 北京奇虎科技有限公司 Docker容器上传/下载特性的控制方法及装置
WO2017198035A1 (zh) * 2016-05-20 2017-11-23 北京奇虎科技有限公司 Docker容器上传/下载特性的控制方法及装置
CN107666446A (zh) * 2017-09-14 2018-02-06 北京京东尚科信息技术有限公司 下行流量、上行流量、双向流量限制方法和装置
CN107678836A (zh) * 2017-10-12 2018-02-09 新华三大数据技术有限公司 集群的测试数据获取方法及装置
CN112925581A (zh) * 2021-02-22 2021-06-08 百果园技术(新加坡)有限公司 Dpdk容器的启动方法、装置及电子设备

Also Published As

Publication number Publication date
CN114244717A (zh) 2022-03-25
WO2023160033A1 (zh) 2023-08-31

Similar Documents

Publication Publication Date Title
CN114244717B (zh) 虚拟网卡资源的配置方法、装置、计算机设备及介质
CN108614726B (zh) 虚拟机创建方法及装置
CN108293041B (zh) 分布式***、资源容器的分配方法、资源管理器及应用控制器
CN108572845B (zh) 分布式微服务集群的升级方法及相关***
US20180152392A1 (en) Hybrid cloud management
CN115328663A (zh) 基于PaaS平台进行资源调度的方法、装置、设备和存储介质
CN109995814B (zh) 云主机资源的迁移方法及装置、通信设备、存储介质
CN112579622B (zh) 业务数据的处理方法、装置及设备
CN112241316A (zh) 一种分布式调度应用的方法以及装置
CN110738038A (zh) 合同文本的生成方法、装置、设备及计算机可读存储介质
CN114531477A (zh) 功能组件的配置方法、装置、计算机设备和存储介质
CN112995700B (zh) 一种处理电子资源的方法、装置及电子设备
CN116339927B (zh) 设备确定方法、装置、存储介质及电子装置
CN107045452B (zh) 虚拟机调度方法和装置
CN112596897A (zh) 一种用于多租户隔离的方法及***
CN116436968A (zh) 一种服务网格通信方法、***、装置以及存储介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN115665231A (zh) 服务创建方法、装置以及计算机可读存储介质
CN115469961A (zh) 容器组的创建方法和装置、电子设备和存储介质
CN111126604B (zh) 模型训练方法、装置、服务器及存储介质
CN113656181A (zh) 一种实时应用集群实例资源的发放方法及装置
CN114020214A (zh) 存储集群的扩容方法、装置、电子设备及可读存储介质
KR102156656B1 (ko) 가상머신 스택 생성 시스템 및 방법
CN115202856A (zh) 资源分配***、方法、装置、计算机设备和存储介质
CN110554906A (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