CN114640678A - 基于SR-IOV的Pod管理方法、设备及介质 - Google Patents
基于SR-IOV的Pod管理方法、设备及介质 Download PDFInfo
- Publication number
- CN114640678A CN114640678A CN202210248504.XA CN202210248504A CN114640678A CN 114640678 A CN114640678 A CN 114640678A CN 202210248504 A CN202210248504 A CN 202210248504A CN 114640678 A CN114640678 A CN 114640678A
- Authority
- CN
- China
- Prior art keywords
- pod
- network
- target
- managed
- list
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 41
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000006870 function Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SR‑IOV的Pod管理方法、设备及介质,所述方法包括:响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF;确定所述待管理Pod的网络资源对象,所述网络资源对象包括所述待管理Pod的目标网络地址;在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。采用本发明,能解决现有采用基于iptables的Service来访问Pod时所存在的服务不可用、时延较长等问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于SR-IOV的Pod管理方法、设备及介质。
背景技术
在开源应用Kubernetes中,访问应用所对应的运行实例Pod的最直接做法是:直接访问Pod中的容器(Container)。但当应用对应多个Pod时,如何实现负载均衡和会话保持,且当Pod因为迁移导致网络地址,也可称网络互联协议(Internet Protocol,IP)地址发生变更后如何处理均是问题。为解决上述问题,Kubernetes中引入了服务(Service)资源。
Service为一组具备相同功能的Pod提供一个统一的访问地址,并支持负载均衡,可将请求均衡地分发到各个Pod。其中,Service的底层实现机制是iptables工具,基于iptables来实现流量转发和负载均衡。
然而在实践中发现:由于iptables自身存在的缺陷,例如性能问题和扩展问题等,导致Service在使用时存在诸如其他服务不可用、数据转发时延较长等问题。因此,亟需提供一种更好的Pod管理方案。
发明内容
本申请实施例通过提供一种基于SR-IOV的Pod管理方法、设备及介质,解决了现有技术中采用基于iptables的Service来访问Pod时所存在的服务不可用、时延较长等技术问题。
一方面,本申请通过本申请的一实施例提供一种基于SR-IOV的Pod管理方法,应用于Kubernetes集群的主控节点中,所述方法包括:
响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的;
确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址;
在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。
可选地,所述Pod管理指令为Pod创建指令,所述在所述待管理Pod的网络命令空间中对目标VF进行管理之前,所述方法还包括:
根据VF选择算法,从所述至少一个VF中选择出所述目标VF,所述目标VF为剩余VF数量大于第一阈值的网络接口中的VF;
所述在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理包括:
在所述待管理Pod的网络命令空间中,创建与所述目标VF关联的虚拟接口,并将所述虚拟接口的网络地址配置为所述目标网络地址;
将所述目标VF标记为已分配状态,并更新所述可用VF列表;
在所述网络资源对象中,将所述目标网络地址添加至已分配网络地址列表中。
可选地,所述Pod管理指令为Pod删除指令,所述在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理包括:
在所述待管理Pod的网络命令空间中,删除所述目标VF关联的虚拟接口;
将所述目标网络地址从所述网络资源对象中的已分配网络地址列表中删除;
将所述目标VF标记为未分配状态,并更新所述可用VF列表。
可选地,所述获取待管理Pod所在的目标节点中的可用虚拟功能VF列表包括:
获取待管理Pod所在的目标节点;
根据所述目标节点的网络地址,获取所述目标节点中的可用VF列表。
可选地,所述确定所述待管理Pod的网络资源对象包括:
根据Pod字段标签中的网络资源对象名称,查找出所述待管理Pod的网络资源对象。
可选地,所述获取待管理Pod所在的目标节点中的可用虚拟功能VF列表之前,所述方法还包括:
在所述目标节点中选择至少一个网络接口,采用SR-IOV为每个所述网络接口创建至少一个VF,所述VF用于所述待管理Pod的数据传输;
根据创建的所述至少一个VF,生成所述可用VF列表;
将所述可用VF列表注册到所述Kubernetes集群中。
可选地,所述可用VF列表包括所述至少一个网络接口、所述至少一个VF和每个所述网络接口的驱动类型。
可选地,所述确定所述待管理Pod的网络资源对象之前,所述方法还包括:
创建所述网络资源对象,所述网络资源对象中包括以下中的至少一项:网络类型、网络前缀和掩码长度、网络地址分配范围及预配的默认网关。
另一方面,本申请通过本申请的一实施例提供一种基于SR-IOV的Pod管理装置,应用于Kubernetes集群的主控节点中,所述装置包括:获取模块、确定模块和处理模块,其中:
所述获取模块,用于响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的;
所述确定模块,用于确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址;
所述处理模块,用于在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。
关于本申请实施例中的未介绍或未描述的内容可对应参考前述方法实施例中的相关介绍,这里不再赘述。
另一方面,本申请通过本申请的一实施例提供一种终端设备,所述终端设备包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如上所述的基于SR-IOV的Pod管理方法。
另一方面,本申请通过本申请的一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序运行在终端设备时执行如上所述的基于SR-IOV的Pod管理方法。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请可响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的;确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址;在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。上述方案中,本申请能根据目标节点中的可用VF列表和Pod的网络资源对象,对该目标节点的待管理Pod进行对应目标VF的便捷及高效管理,以利用该目标VF实现数据的快速及高效传输,从而提升数据传输速度和效率。同时也解决了现有技术中采用基于iptables的Service来访问Pod时所存在的服务不可用、时延较长等技术问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于SR-IOV的Pod管理方法的流程示意图。
图2是本申请实施例提供的一种基于SR-IOV的Pod管理装置的结构示意图。
图3是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
申请人在提出本申请的过程中发现,Service在使用时存在如下一些问题:
1、规则匹配时延问题。每个Service的VIP(虚拟IP)都对应一条iptables规则(链),iptables规则匹配是线性的,规则匹配的时间复杂度是O(n),n为iptables规则数量。若Service的配置数量较多,则iptables规则数量也较多,导致规则匹配的时延较高,使得网络数据包的转发速度较慢。
2、规则更新时延问题。iptables规则更新方式是全量更新、非增量更新,即使是增加或删除一条规则,也是整体修改全部的iptables规则。
3、可用性问题。在Service发生变更时,iptables规则进行全量更新导致连接断开,使得其他服务不可用。
为解决上述问题,本申请实施例通过提供一种基于SR-IOV的Pod管理方法、设备及介质。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
一种基于SR-IOV的Pod管理方法,应用于Kubernetes集群的主控节点中,所述方法包括:
响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的;
确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址;
在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请提供一种基于单根输入输出虚拟化(Single Root I/O Virtualization,SR-IOV)的Pod管理方法,使用SR-IOV将物理网络接口(物理网卡)虚拟为若干个虚拟功能(Virtual Function,VF)。然后为Pod分配一个独享的VF,用于Pod网络数据包的转发。这样Pod可以实现网络数据包的高速转发,并且不存在服务不可用等问题。
请参见图1,是本申请实施例提供的一种基于SR-IOV的Pod管理方法的流程示意图。如图1所示的方法应用于Kubernetes集群的主控节点中,所述方法包括如下实施步骤:
S101、响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表。所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的。
本申请所述Pod管理指令可为用户触发生成的,也可为接收来自其他设备获得的。所述Pod管理指令可以是Pod创建指令和/或Pod删除指令。本申请既可执行Pod创建指令为待管理Pod创建对应的VF,还可执行Pod删除指令删除待管理Pod所关联创建的VF。
具体实现中,本申请可先获取待管理Pod所在的目标节点,例如根据Pod宿主服务器信息确定出Pod所在的宿主服务器(即目标节点)。进一步本申请可根据所述目标节点的网络IP地址来获取所述目标节点中的可用VF列表。所述可用VF列表中包括有允许所述目标节点可用的至少一个VF。
可选地,本申请在步骤S101之前,Kubernetes集群的主控节点可预先为不同的目标节点创建相应的VF,并将创建的VF注册到Kubernetes集群中。具体地本申请可在目标节点(服务器)中选择至少一个(即一个或多个)网络接口,在所述网络接口上采用SR-IOV为每个所述网络接口创建至少一个VF。所述VF用于Pod转发网络中的数据包。可理解的,目前很多厂商生产的物理网卡都支持SR-IOV,比如Intel 82599、E800、X700系列网卡等,MellanoxConnectX-4、ConnectX-5、ConnectX-6系列网卡等。不同类型的网卡/网络接口,其上VF的创建方式可不同,其上所支持创建的VF数量也可不同。
以网络接口Intel X710为例进行举例说明,本申请将用于创建VF的网络接口标记为ens1,本申请在Intel X710上创建VF的具体实施方式如下:
1、执行创建命令“echo 16>/sys/class/net/ens1/device/sriov_numvfs”,即可在网络接口ens1上创建16个VF,VF编号依次为:0、1、2…,15。
2、本申请将上述创建命令添加到/etc/profile文件的末尾,确保目标节点在重启时能重新创建VF。
可选地,目标节点中创建的至少一个VF可形成对应的VF列表。进一步本申请可通过VF注册模块将所述VF列表中的每个VF注册到Kubernetes集群中。在注册时,针对每一目标节点(具体可为Kubernetes集群中的工作节点)都可提供如下信息:目标节点的网络IP地址,例如“172.16.102.16”;VF列表,所述VF列表可包括如下信息中的任一项或多个:所述至少一个网络接口,具体可为网络接口的名称,如“ens1”;所述至少一个VF,具体可为VF编号配置,其格式可例如为“<SingleVF>,<FirstVF>-<LastVF>,<SingleVF>,<SingleVF>,<FirstVF>-<LastVF>”;每个所述网络接口的驱动类型。其中,SingleVF表示单个VF编号、FirstVF表示VF编号区间的第一个VF编号、LastVF表示VF编号区间的最后一个VF编号。
S102、确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址。
本申请可根据Pod字段标签中的网络资源(Network)对象名称,查找出所述待管理Pod的网络资源对象。具体地例如,本申请将根据Pod metadata.annotations标签中network.mingyangtech.com.cn/network字段的取值,即Network对象的名称(比如sriov-network-01),查找出对应的Network对象。可选地,所述网络资源对象中包括以下中的任一项或多项的组合:网络类型、网络前缀和掩码长度、网络地址分配范围及预配的默认网关。
可选地,在步骤S102之前,本申请可预先创建Network对象,在Kubernetes集群中引入新的自定义CRD资源Network。Network对象代表网络,用于定义网络类型、网络前缀和掩码长度、网络IP地址的分配范围及默认网关等信息。
举例来说,请参见如下表1描述了一个Network对象,可用于创建一个网络。
表1
由上表1创建了一个网络,该网络的类型为sriov,网络前缀为192.168.1.0,掩码长度为24,IP地址的分配范围为192.168.1.100-192.168.1.200,默认网关为192.168.1.1。
需要说明的是,上表1若需要为Pod创建基于SR-IOV的高速网络,则在编写yaml文件(用于创建Pod的yaml文件)时,需在metadata.annotations标签中指定Network对象的名称“network.mingyangtech.com.cn/network:sriov-network-01”。
S103、在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理。所述目标VF为所述至少一个VF中支持所述待管理Pod使用的接口。
在一具体实施方式中,当所述Pod管理指令为Pod创建指令时,本申请可在步骤S103之前,根据VF选择算法从至少一个VF中选择出目标VF,所述目标VF可为所述目标节点中剩余VF数量最多(例如大于第一阈值)的网络接口中的VF。关于所述目标VF的选择具体实施方式本申请不做限定,具体地例如其可包括以下中的至少一项:本申请可选择剩余可用VF数量最多的网络接口,然后从该网络接口中随机选取一个可用VF作为所述目标VF;若所述目标节点存在若干个网络接口,且存在多个所述网络接口中的剩余可用VF数量最多且相等,则可从多个所述网络接口中选取存在VF数量最大(例如大于第二阈值)的目标网络接口中的任意一个可用VF作为所述目标VF;若所述目标节点存在若干个网络接口,且存在多个所述网络接口中的剩余可用VF数量最多且相等、且多个所述网络接口各自所存在的VF数量也相同,则可从多个所述网络接口中随机/任意选择一个可用VF作为所述目标VF。
进一步在步骤S103中,本申请可在所述待管理Pod的网络命令空间中,创建与所述目标VF关联的虚拟接口,并将所述虚拟接口的网络地址配置为所述目标网络地址;将所述目标VF标记为已分配状态,并更新所述可用VF列表;在所述网络资源对象中,将所述目标网络地址添加至已分配网络地址列表中。
举例来说,本申请执行Pod创建指令的具体实施流程如下:
S11、获取(待管理)Pod宿主的目标节点信息,确定Pod所在的目标节点。
S12、根据目标节点的网络IP地址,获取该目标节点上的可用VF列表。当所述VF可用列表中存在多个可用VF时,根据VF选择算法从多个可用VF中选取一个目标VF,分配给待管理Pod使用。具体地例如,本申请可将分配的目标VF记录为VF1,取值例如(ens1,0)。其中,ens1表示网络接口,0表示VF标号。
S13、根据Pod metadata.annotations中network.mingyangtech.com.cn/network字段的取值,即Network对象的名称(比如sriov-network-01),查找出对应的Network对象。然后,根据Network对象中的网络定义,为待管理Pod分配网络IP地址,将分配的Pod IP地址记录为ip1。
S14、在为Pod分配的网络命名空间中,创建与VF1关联的虚拟接口,并将其IP地址配置为ip1。
S15、将VF1标记为已分配状态,表示VF1已被使用,不再属于可用VF列表中。在Network对象中将ip1添加至对应的网络地址IP列表中,表示ip1不再被分配。
在另一具体实施方式中,当所述Pod管理指令为Pod删除指令时,本申请可在所述待管理Pod的网络命令空间中,删除所述目标VF关联的虚拟接口;将所述目标网络地址从所述网络资源对象中的已分配网络地址列表中删除;将所述目标VF标记为未分配状态,并更新所述可用VF列表。
举例来说,本申请执行Pod删除指令的具体实施流程如下:
S21、获取(待管理)Pod宿主的目标节点信息,确定Pod所在的目标节点、Pod使用的VF假设标记为VF2,Pod分配的网络IP地址假设标记为ip2。
S22、在为Pod分配的网络命名空间中,删除VF2关联的虚拟接口。
S23、根据Pod metadata.annotations中network.mingyangtech.com.cn/network字段的取值,即Network对象的名称(比如sriov-network-01),查找出对应的Network对象。然后,将Pod的IP地址(ip2)从该Network对象的已分配IP列表中删除,表示该IP地址(ip2)可以被再次分配。
S24、将VF2标记为未分配状态,表示VF2属于可用VF列表,可以被再次分配。
通过实施本申请实施例,本申请可响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的;确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址;在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。上述方案中,本申请能根据目标节点中的可用VF列表和Pod的网络资源对象,对该目标节点的待管理Pod进行对应目标VF的便捷及高效管理,以利用该目标VF实现数据的快速及高效传输,从而提升数据传输速度和效率。同时也解决了现有技术中采用基于iptables的Service来访问Pod时所存在的服务不可用、时延较长等技术问题。
基于同一发明构思,本申请另一实施例提供一种实施本申请实施例中所基于SR-IOV的Pod管理方法对应的装置和终端设备。
请参见图2是本申请实施例提供的一种基于SR-IOV的Pod管理装置的结构示意图。如图2所示的装置20应用于Kubernetes集群的主控节点中,所述装置包括:获取模块201、确定模块202和处理模块203,其中:
所述获取模块201,用于响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的;
所述确定模块202,用于确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址;
所述处理模块203,用于在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。
关于本申请实施例中未介绍或未描述的内容可对应参考前述方法实施例中的相关介绍,这里不再赘述。
请一并参见3,是本申请实施例提供的一种终端设备的结构示意图。如图3所示的终端设备30包括:至少一个处理器301、通信接口302、用户接口303和存储器304,处理器301、通信接口302、用户接口303和存储器304可通过总线或者其它方式连接,本发明实施例以通过总线305连接为例。其中,
处理器301可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)。
通信接口302可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他终端或网站进行通信。本发明实施例中,通信接口302具体用于获取Pod管理指令等信息。
用户接口303具体可为触控面板,包括触摸屏和触控屏,用于检测触控面板上的操作指令,用户接口303也可以是物理按键或者鼠标。用户接口303还可以为显示屏,用于输出、显示图像或数据。
存储器304可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器304还可以包括上述种类的存储器的组合。存储器304用于存储一组程序代码,处理器301用于调用存储器304中存储的程序代码,执行如下操作:
响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的;
确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址;
在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。
可选地,所述Pod管理指令为Pod创建指令,所述在所述待管理Pod的网络命令空间中对目标VF进行管理之前,所述方法还包括:
根据VF选择算法,从所述至少一个VF中选择出所述目标VF,所述目标VF为剩余VF数量大于第一阈值的网络接口中的VF;
所述在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理包括:
在所述待管理Pod的网络命令空间中,创建与所述目标VF关联的虚拟接口,并将所述虚拟接口的网络地址配置为所述目标网络地址;
将所述目标VF标记为已分配状态,并更新所述可用VF列表;
在所述网络资源对象中,将所述目标网络地址添加至已分配网络地址列表中。
可选地,所述Pod管理指令为Pod删除指令,所述在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理包括:
在所述待管理Pod的网络命令空间中,删除所述目标VF关联的虚拟接口;
将所述目标网络地址从所述网络资源对象中的已分配网络地址列表中删除;
将所述目标VF标记为未分配状态,并更新所述可用VF列表。
可选地,所述获取待管理Pod所在的目标节点中的可用虚拟功能VF列表包括:
获取待管理Pod所在的目标节点;
根据所述目标节点的网络地址,获取所述目标节点中的可用VF列表。
可选地,所述确定所述待管理Pod的网络资源对象包括:
根据Pod字段标签中的网络资源对象名称,查找出所述待管理Pod的网络资源对象。
可选地,所述获取待管理Pod所在的目标节点中的可用虚拟功能VF列表之前,所述方法还包括:
在所述目标节点中选择至少一个网络接口,采用SR-IOV为每个所述网络接口创建至少一个VF,所述VF用于所述待管理Pod的数据传输;
根据创建的所述至少一个VF,生成所述可用VF列表;
将所述可用VF列表注册到所述Kubernetes集群中。
可选地,所述可用VF列表包括所述至少一个网络接口、所述至少一个VF和每个所述网络接口的驱动类型。
可选地,所述确定所述待管理Pod的网络资源对象之前,所述方法还包括:
创建所述网络资源对象,所述网络资源对象中包括以下中的至少一项:网络类型、网络前缀和掩码长度、网络地址分配范围及预配的默认网关。
由于本实施例所介绍的终端设备为实施本申请实施例中的方法所采用的终端设备,故而基于本申请实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的终端设备的具体实施方式以及其各种变化形式,所以在此对于该终端设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的终端设备,都属于本申请所欲保护的范围。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请可响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的;确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址;在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。上述方案中,本申请能根据目标节点中的可用VF列表和Pod的网络资源对象,对该目标节点的待管理Pod进行对应目标VF的便捷及高效管理,以利用该目标VF实现数据的快速及高效传输,从而提升数据传输速度和效率。同时也解决了现有技术中采用基于iptables的Service来访问Pod时所存在的服务不可用、时延较长等技术问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于SR-IOV的Pod管理方法,其特征在于,应用于Kubernetes集群的主控节点中,所述方法包括:
响应于Pod管理指令,获取待管理Pod所在的目标节点中的可用虚拟功能VF列表,所述可用VF列表包括至少一个VF,所述VF为采用SR-IOV为所述目标节点创建的;
确定所述待管理Pod的网络资源对象,所述网络资源对象中包括所述待管理Pod的目标网络地址;
在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理,所述目标VF为所述至少一个VF中支持所述待管理Pod使用的VF。
2.根据权利要求1所述的方法,其特征在于,所述Pod管理指令为Pod创建指令,所述在所述待管理Pod的网络命令空间中对目标VF进行管理之前,所述方法还包括:
根据VF选择算法,从所述至少一个VF中选择出所述目标VF,所述目标VF为剩余VF数量大于第一阈值的网络接口中的VF;
所述在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理包括:
在所述待管理Pod的网络命令空间中,创建与所述目标VF关联的虚拟接口,并将所述虚拟接口的网络地址配置为所述目标网络地址;
将所述目标VF标记为已分配状态,并更新所述可用VF列表;
在所述网络资源对象中,将所述目标网络地址添加至已分配网络地址列表中。
3.根据权利要求1所述的方法,其特征在于,所述Pod管理指令为Pod删除指令,所述在所述待管理Pod的网络命令空间中对目标VF进行管理,并对所述待管理Pod的网络地址和所述可用VF列表中的目标VF进行更新处理包括:
在所述待管理Pod的网络命令空间中,删除所述目标VF关联的虚拟接口;
将所述目标网络地址从所述网络资源对象中的已分配网络地址列表中删除;
将所述目标VF标记为未分配状态,并更新所述可用VF列表。
4.根据权利要求1所述的方法,其特征在于,所述获取待管理Pod所在的目标节点中的可用虚拟功能VF列表包括:
获取待管理Pod所在的目标节点;
根据所述目标节点的网络地址,获取所述目标节点中的可用VF列表。
5.根据权利要求1所述的方法,其特征在于,所述确定所述待管理Pod的网络资源对象包括:
根据Pod字段标签中的网络资源对象名称,查找出所述待管理Pod的网络资源对象。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述获取待管理Pod所在的目标节点中的可用虚拟功能VF列表之前,所述方法还包括:
在所述目标节点中选择至少一个网络接口,采用SR-IOV为每个所述网络接口创建至少一个VF,所述VF用于所述待管理Pod的数据传输;
根据创建的所述至少一个VF,生成所述可用VF列表;
将所述可用VF列表注册到所述Kubernetes集群中。
7.根据权利要求6所述的方法,其特征在于,所述可用VF列表包括所述至少一个网络接口、所述至少一个VF和每个所述网络接口的驱动类型。
8.根据权利要求1-5中任一项所述的方法,其特征在于,所述确定所述待管理Pod的网络资源对象之前,所述方法还包括:
创建所述网络资源对象,所述网络资源对象中包括以下中的至少一项:网络类型、网络前缀和掩码长度、网络地址分配范围及预配的默认网关。
9.一种终端设备,其特征在于,所述终端设备包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如上权利要求1-8中任一项所述的基于SR-IOV的Pod管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,当所述程序运行在终端设备时执行如上权利要求1-8中任一项所述的基于SR-IOV的Pod管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248504.XA CN114640678A (zh) | 2022-03-14 | 2022-03-14 | 基于SR-IOV的Pod管理方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248504.XA CN114640678A (zh) | 2022-03-14 | 2022-03-14 | 基于SR-IOV的Pod管理方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114640678A true CN114640678A (zh) | 2022-06-17 |
Family
ID=81947413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210248504.XA Pending CN114640678A (zh) | 2022-03-14 | 2022-03-14 | 基于SR-IOV的Pod管理方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640678A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115473766A (zh) * | 2022-08-22 | 2022-12-13 | 苏州思萃工业互联网技术研究所有限公司 | 一种基于分布式网关的vip实现方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924268A (zh) * | 2018-09-11 | 2018-11-30 | 网宿科技股份有限公司 | 一种容器云服务系统及pod创建方法、装置 |
CN111966471A (zh) * | 2020-10-21 | 2020-11-20 | 北京首都在线科技股份有限公司 | 访问方法、装置、电子设备及计算机存储介质 |
CN112486632A (zh) * | 2020-12-07 | 2021-03-12 | 中国船舶重工集团公司第七一六研究所 | 一种面向k8s的用户态虚拟设备驱动框架 |
CN112543108A (zh) * | 2019-09-04 | 2021-03-23 | 中兴通讯股份有限公司 | 网络隔离策略管理方法和网络隔离策略管理系统 |
CN113162802A (zh) * | 2021-04-02 | 2021-07-23 | 东云睿连(武汉)计算技术有限公司 | 基于InfiniBand的通信方法、设备及存储介质 |
CN113783922A (zh) * | 2021-03-26 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 负载均衡的方法、系统和装置 |
CN114050998A (zh) * | 2022-01-07 | 2022-02-15 | 阿里巴巴(中国)有限公司 | 实现远程直接内存访问的方法、装置、电子设备及介质 |
-
2022
- 2022-03-14 CN CN202210248504.XA patent/CN114640678A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924268A (zh) * | 2018-09-11 | 2018-11-30 | 网宿科技股份有限公司 | 一种容器云服务系统及pod创建方法、装置 |
CN112543108A (zh) * | 2019-09-04 | 2021-03-23 | 中兴通讯股份有限公司 | 网络隔离策略管理方法和网络隔离策略管理系统 |
CN111966471A (zh) * | 2020-10-21 | 2020-11-20 | 北京首都在线科技股份有限公司 | 访问方法、装置、电子设备及计算机存储介质 |
CN112486632A (zh) * | 2020-12-07 | 2021-03-12 | 中国船舶重工集团公司第七一六研究所 | 一种面向k8s的用户态虚拟设备驱动框架 |
CN113783922A (zh) * | 2021-03-26 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 负载均衡的方法、系统和装置 |
CN113162802A (zh) * | 2021-04-02 | 2021-07-23 | 东云睿连(武汉)计算技术有限公司 | 基于InfiniBand的通信方法、设备及存储介质 |
CN114050998A (zh) * | 2022-01-07 | 2022-02-15 | 阿里巴巴(中国)有限公司 | 实现远程直接内存访问的方法、装置、电子设备及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115473766A (zh) * | 2022-08-22 | 2022-12-13 | 苏州思萃工业互联网技术研究所有限公司 | 一种基于分布式网关的vip实现方法和系统 |
CN115473766B (zh) * | 2022-08-22 | 2024-01-26 | 苏州思萃工业互联网技术研究所有限公司 | 一种基于分布式网关的vip实现方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107580083B (zh) | 一种容器ip地址分配的方法和系统 | |
US11005815B2 (en) | Priority allocation for distributed service rules | |
JP6542909B2 (ja) | ファイル操作方法及び装置 | |
US10305815B2 (en) | System and method for distributed resource management | |
CN109981493B (zh) | 一种用于配置虚拟机网络的方法和装置 | |
US9813374B1 (en) | Automated allocation using spare IP addresses pools | |
CN108984266B (zh) | 一种虚拟机的管理方法、装置及系统 | |
US11068461B1 (en) | Monitoring key access patterns for nonrelational databases | |
JP2008294717A (ja) | 仮想ネットワーク構成方法及びネットワークシステム | |
US11036535B2 (en) | Data storage method and apparatus | |
CN106031116A (zh) | 一种ns与vnf的关联方法、装置及系统 | |
TW201331763A (zh) | 設置隔離虛擬空間的方法與裝置 | |
US11822970B2 (en) | Identifier (ID) allocation in a virtualized computing environment | |
WO2014094421A1 (zh) | 数据处理方法和虚拟机管理平台 | |
US11397622B2 (en) | Managed computing resource placement as a service for dedicated hosts | |
CN106201648A (zh) | 一种虚拟机创建方法及装置 | |
CN109471725A (zh) | 资源分配方法、装置和服务器 | |
JP2016177688A (ja) | データ処理装置、データ処理方法およびコンピュータプログラム | |
CN105045762A (zh) | 一种配置文件的管理方法及装置 | |
US10944714B1 (en) | Multi-factor domain name resolution | |
CN113343045B (zh) | 一种数据缓存方法及网络设备 | |
CN114640678A (zh) | 基于SR-IOV的Pod管理方法、设备及介质 | |
CN110417777A (zh) | 一种优化的微服务间通信的方法及装置 | |
CN113114571A (zh) | 数据包处理方法、装置、电子设备及存储介质 | |
CN105939264A (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 |