CN110362386A - 网卡处理方法、装置、电子设备和存储介质 - Google Patents
网卡处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110362386A CN110362386A CN201910679894.4A CN201910679894A CN110362386A CN 110362386 A CN110362386 A CN 110362386A CN 201910679894 A CN201910679894 A CN 201910679894A CN 110362386 A CN110362386 A CN 110362386A
- Authority
- CN
- China
- Prior art keywords
- container
- network interface
- interface card
- target
- recording file
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种网卡处理方法、装置、电子设备和存储介质,涉及计算机技术领域。本发明实施例提供的网卡处理方法、装置、电子设备和存储介质,在获取容器集群中处于使用状态的容器后,通过将预设记录文件中记录的容器与获取的容器进行比对,判断预设记录文件中是否记录有存在于预设记录文件而未存在于容器集群中的目标容器,若预设记录文件中记录有目标容器,则从预设记录文件中确定与目标容器关联的目标网卡,根据目标网卡的使用状态确定是否从承载节点删除目标网卡,以此实现目标网卡的有效清理。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种网卡处理方法、装置、电子设备和存储介质。
背景技术
随着公有云IaaS(Infrastructure as a Service,基础设施即服务)基础设施的逐步完善,计算、存储、网络等资源的虚拟化抽象能力逐步提升,功能日趋稳定,越来越多的容器集群构建于公有云IaaS之上,业界主流的容器集群构建方案日趋转变为公有云、本地IDC(Internet Data Center,互联网数据中心)集群共建、互备的模式。
在公有云IaaS提供的承载能力下,虚拟网络、虚拟网卡等技术的日趋成熟为容器网络层面提供了更灵活的实施策略,可实现容器网络与现有公有云VPC(Virtual PrivateCloud,虚拟私有云)网络融合组网、共同管理。但在这种模式下,容器网络的调度依赖于云厂商的虚拟网卡调度,对容器对应网卡的管理可靠性则完全依赖于云厂商的虚拟网卡管理接口的可靠性,因此,极易造成在容器删除后,容器对应的虚拟网卡未能有效清理。
发明内容
基于上述研究,本发明提供一种网卡处理方法、装置、电子设备和存储介质。
第一方面,本发明实施例提供一种网卡处理方法,应用于承载节点,所述承载节点用于承载容器集群中的容器;所述方法包括:
获取所述容器集群中处于使用状态的容器,将预设记录文件中记录的容器与容器集群中的容器进行比对,判断所述预设记录文件中是否记录有目标容器;其中,所述预设记录文件中记录有运行于所述承载节点的容器与设置于所述承载节点的网卡的关联关系;
若所述预设记录文件中记录有所述目标容器,则从所述预设记录文件中确定与所述目标容器关联的目标网卡;
根据所述目标网卡的使用状态确定是否从所述承载节点删除所述目标网卡。
进一步的,所述判断所述预设记录文件中是否记录有目标容器的步骤包括:
判断所述预设记录文件中是否记录有存在于所述预设记录文件而未存在于所述容器集群中的目标容器。
进一步的,所述根据所述目标网卡的使用状态确定是否从所述承载节点删除所述目标网卡的步骤包括:
基于所述目标网卡的IP地址,判断所述容器集群中是否存在使用所述目标网卡的容器,若所述容器集群中不存在使用所述目标网卡的容器,则从所述承载节点删除所述目标网卡。
进一步的,若所述容器集群中存在使用所述目标网卡的容器,所述方法还包括:
判断使用所述目标网卡的容器是否运行于所述承载节点;
若使用所述目标网卡的容器未运行于所述承载节点,则从所述承载节点删除所述目标网卡。
进一步的,若使用所述目标网卡的容器运行于所述承载节点,所述方法还包括:
将所述预设记录文件中所述目标网卡关联的容器更新为使用该目标网卡的容器。
进一步的,所述方法还包括:
获取所述承载节点上的处于未使用状态的待处理网卡;
根据所述待处理网卡的MAC地址,检测所述容器集群中是否存在使用所述待处理网卡的容器,若所述容器集群中不存在使用所述待处理网卡的容器,则从所述承载节点删除所述待处理网卡。
进一步的,若所述容器集群中存在使用所述待处理网卡的容器,所述方法还包括:
判断使用所述待处理网卡的容器是否运行于所述承载节点;
若使用所述待处理网卡的容器运行于所述承载节点,将使用所述待处理网卡的容器与所述待处理网卡关联并记录于所述预设记录文件;
若使用所述待处理网卡的容器未运行于所述承载节点,则从所述承载节点删除所述待处理网卡。
进一步的,所述方法还包括生成预设记录文件的步骤,该步骤包括:
在所述承载节点创建容器,并为创建的容器配置对应的网卡时,将创建的容器的识别码与该容器对应的网卡的ID关联并记录于所述预设记录文件,将所述预设记录文件保存于所述承载节点。
第二方面,本发明实施例提供一种网卡处理装置,应用于承载节点,所述承载节点用于承载容器集群中的容器;所述网卡处理装置包括处理模块以及清理模块;
所述处理模块用于获取所述容器集群中处于使用状态的容器,将预设记录文件中记录的容器与获取的容器进行比对,判断所述预设记录文件中是否记录有目标容器;其中,所述预设记录文件中记录有运行于所述承载节点的容器与设置于所述承载节点的网卡的关联关系;
若所述预设记录文件中记录有所述目标容器,所述清理模块用于从所述预设记录文件中确定与所述目标容器关联的目标网卡,根据所述目标网卡的使用状态确定是否从所述承载节点删除所述目标网卡。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括存储器、处理器及上述实施方式所述的网卡处理装置,所述网卡处理装置位于所述存储器并包括一个或多个由所述处理器执行的软件功能模块。
第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述实施方式中任一项所述的网卡处理方法中的步骤。
本发明实施例提供一种网卡处理方法、装置、电子设备和存储介质,通过将预设记录文件中记录的容器与获取的容器集群中处于使用状态的容器进行比对,判断预设记录文件中是否记录有目标容器,若预设记录文件中记录有目标容器,则从预设记录文件中获取与目标容器关联的目标网卡,根据目标网卡的使用状态确定是否从承载节点删除目标网卡,以此实现目标网卡的有效清理。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的网卡处理方法的一种流程示意图。
图2为本发明实施例所提供的网卡处理方法的另一种流程示意图。
图3为本发明实施例所提供的网卡处理方法的又一种流程示意图。
图4为本发明实施例所提供的网卡处理装置的一种方框示意图。
图5为本发明实施例所提供的电子设备的一种方框示意图。
图标:100-电子设备;10-网卡处理装置;11-处理模块;12-清理模块;20-存储器;30-处理器;40-通信模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
随着公有云IaaS基础设施的逐步完善,计算、存储、网络等资源的虚拟化抽象能力逐步提升,功能日趋稳定,越来越多的容器集群构建于公有云IaaS之上,业界主流的容器集群构建方案日趋转变为公有云、本地IDC集群共建、互备的模式。
在公有云IaaS提供的承载能力下,虚拟网络、虚拟网卡等技术的日趋成熟为容器网络层面提供了更灵活的实施策略,可实现容器网络与现有公有云VPC网络融合组网、共同管理。但在这种模式下,容器网络的调度依赖于云厂商的虚拟网卡调度,对容器对应网卡的管理可靠性则完全依赖于云厂商的虚拟网卡管理接口的可靠性,因此极易造成网卡分配数据不一致,其中尤为凸显的便是容器删除后,虚拟网卡未能有效清理(删除)而形成网卡残留。
现有技术中,大多方案均是在容器删除时,调用公有云厂商虚拟网卡解绑接口对网卡进行删除,但此种方案依赖于公有云厂商的接口可用性,在公有云厂商接口出错或网络抖动等情况下,将造成承载节点上网卡残留,大量网卡残留在承载节点上,将造成资源浪费、影响主机网络性能,且造成后续网卡调度策略失效等问题。因此,需要对承载节点上的残留网卡进行清理,而其中鉴别承载节点上的网卡是否为残留网卡成为清理残留网卡的主要难点。
基于上述研究,本发明实施例提供一种网卡处理方法,以改善上述问题。
请结合参阅图1,图1为本发明实施例所提供的网卡处理方法的流程示意图。本发明实施例提供的网卡处理方法应用于容器集群中的承载节点,所述承载节点可以是数据中心中的物理机器,也可以是托管于云厂商的虚拟机。所述承载节点用于承载容器集群中的容器,由容器集群中的管理节点进行管理,所述承载节点从容器集群中的管理节点读取创建容器、删除容器等请求,并根据读取的请求执行创建容器、删除容器等操作,同时,将创建容器的信息以及删除容器的执行结果信息等反馈至容器集群中的管理节点。下面将对图1所示的具体流程进行详细阐述。
步骤S10:获取所述容器集群中处于使用状态的容器,将预设记录文件中记录的容器与获取的容器进行比对,判断所述预设记录文件中是否记录有目标容器。
其中,容器集群中的每个承载节点都对应生成有一预设记录文件,每个预设记录文件中记录有运行于对应承载节点的容器的信息,以及运行于对应承载节点的容器与设置于对应承载节点的网卡的关联关系。
每个承载节点在成功创建容器,为创建的容器配置对应的网卡后,将创建的容器的信息、创建的容器与对应的网卡的关联关系记录于预设记录文件中,并将创建的容器的信息同步至容器集群中的管理节点。
每个容器的删除操作由管理节点发起,在管理节点发起容器删除操作后,保存在管理节点的容器的信息也相应删除,表示该容器已失效。每个承载节点在执行由管理节点发起的容器删除的流程中,包括删除容器以及调用公有云厂商虚拟网卡解绑接口将容器对应的网卡从承载节点上进行删除,若容器以及该容器对应的网卡均成功删除,则返回将预设记录文件中记录的相应的关联关系以及信息进行删除;若公有云厂商出现接口出错或网络抖动等不可预测的原因,导致删除容器时,该容器对应的网卡不能成功删除,则预设记录文件中记录的相应的关联关系以及信息不会被删除。
因此,将预设记录文件中记录的容器与获取的容器进行比对,即可对预设记录文件中的目标容器进行筛选。
其中,目标容器存在于预设记录文件而未在于获取的容器中,即目标容器为存在于预设记录文件而未存在于容器集群中的容器,即目标容器在容器集群中为已删除状态,但仍存在于预设记录文件中。
在将预设记录文件中记录的容器与获取的容器比对之前,承载节点首先向容器集群中的管理节点发起请求,申请获取容器集群中处于使用状态的容器,管理节点在接收到承载节点发起的请求后,将容器集群中处于使用状态的容器的信息反馈到承载节点。而承载节点在接收到管理节点反馈的容器集群中处于使用状态的容器的信息后,即可将预设记录文件中记录的容器的信息与获取的容器的信息进行比对,判断预设记录文件中是否记录有存在于预设记录文件而未存在于容器集群中的目标容器,以此对在容器集群中为已删除状态,但仍存在于预设记录文件中失效的容器进行筛选。
其中,承载节点获取容器集群中处于使用状态的容器的方式有多种,例如,承载节点可以直接向管理节点发起请求,获取容器集群中所有处于使用状态的容器,管理节点在接收到请求后,则将容器集群中所有处于使用状态的容器的信息反馈至承载节点。或者,承载节点还可以向管理节点发起请求,获取容器集群中的容器,管理节点在接收到请求后,将容器集群中的容器的信息反馈至承载节点,管理节点在反馈容器集群中的容器的信息,将容器对应的状态一并反馈到承载节点,由承载节点对处于使用状态的容器进行筛选,得到容器集群中处于使用状态的容器。
作为一种可选的实施方式,若承载节点向管理节点发起请求,获取容器集群中的容器,管理节点在接收到请求后,反馈容器集群中的容器的信息以及容器对应的状态反馈到承载节点时,容器对应的状态可以包括处于使用状态以及已删除状态,已删除状态的容器即表示该容器不存在于容器集群,已被管理节点删除。承载节点可以根据这两种状态筛选出处于使用状态的容器以及已删除状态的容器,进而,承载节点可以将预设记录文件中记录的容器的信息与处于使用状态的容器的信息进行比对,也可以将预设记录文件中记录的容器与已删除状态的容器进行比对,以对在容器集群中为已删除状态,但仍存在于预设记录文件中失效的容器进行筛选。
作为一种可选的实施方式,承载节点还可以基于预设记录文件中记录的某个容器的信息,向容器集群中的管理节点发起询问,该容器是否存在,若该容器存在,则表示该容器处于使用状态,为有效容器,并询问预设记录文件中记录的下一个容器是否存在,若该容器不存在,则该容器为目标容器。
作为一种可选的实施方式,容器的信息可以包括识别码、名称以及编号等具有唯一性的标识符号,因此,本发明实施例可以根据识别码将预设记录文件中记录的容器与获取的容器集群中的容器进行比对,也可以根据名称将预设记录文件中记录的容器与获取的容器集群中的容器进行比对,本发明实施例不做限制,可根据实际情况而设定。
在将预设记录文件中记录的容器与获取的容器进行比对,判断所述预设记录文件中是否记录有目标容器后,执行步骤S20至步骤S30。
步骤S20:若所述预设记录文件中记录有所述目标容器,则从所述预设记录文件中获取与所述目标容器关联的目标网卡。
步骤S30:根据所述目标网卡的使用状态确定是否从所述承载节点删除所述目标网卡。
其中,如果某容器在预设记录文件中存在,同时也存在于容器集群中,则该容器为有效容器,且处于使用状态,对该容器关联的网卡不予清理。如果某容器在预设记录文件中存在,而未存在于容器集群中,该容器为失效的容器,即目标容器,该目标容器在预设记录文件中关联的目标网卡为疑似残留网卡,需要根据目标网卡的使用状态对该目标网卡进一步鉴别,确定是否从承载节点删除该目标网卡。
进一步的,请结合参阅图2,所述根据所述目标网卡的使用状态确定是否从所述承载节点删除所述目标网卡的步骤包括步骤S31至步骤S35。
步骤S31:基于所述目标网卡的IP地址,判断所述容器集群中是否存在使用所述目标网卡的容器。
若所述容器集群中不存在使用所述目标网卡的容器,执行步骤S32;若所述容器集群中存在使用所述目标网卡的容器,执行步骤S33。
步骤S32:从所述承载节点删除所述目标网卡。
步骤S33:判断使用所述目标网卡的容器是否运行于所述承载节点。
其中,若某个容器使用某个网卡,则该容器记录有该网卡的IP地址,且该容器记录的IP地址与该容器关联保存于容器集群中的管理节点,因此,即可基于目标网卡的IP地址,检测容器集群中是否存在使用目标网卡的容器。具体地,承载节点可以获取容器集群中容器记录的IP地址,将获取的容器记录的IP地址与目标网卡的IP地址进行比对,进而检测容器集群中是否存在使用目标网卡的容器。
若容器集群中不存在有使用目标网卡的容器,判定该目标网卡为残留网卡,因此需要从承载节点删除目标网卡。若容器集群中存在使用目标网卡的容器,还需判断使用目标网卡的容器是否运行于目标网卡所在的承载节点。使用目标网卡的容器与目标网卡应处于同一承载节点,若使用目标网卡的容器与目标网卡未处于同一承载节点,表示该目标网卡不合法,需要对该目标网卡进行清理。
进一步的,若使用所述目标网卡的容器未运行于所述承载节点,执行步骤S34;若使用所述目标网卡的容器运行于所述承载节点,执行步骤S35。
步骤S34:从所述承载节点删除所述目标网卡。
步骤S35:将所述预设记录文件中所述目标网卡关联的容器更新为使用该目标网卡的容器。
其中,若使用目标网卡的容器未运行于目标网卡所在的承载节点,判定该目标网卡为残留网卡,则从承载节点上删除该目标网卡。若使用目标网卡的容器运行于目标网卡所在的承载节点,判定该目标网卡为非残留网卡,并将预设记录文件中该目标网卡关联的容器更新为使用该目标网卡的容器,将目标网卡与使用该目标网卡的容器进行关联。
在判定得到目标网卡为残留网卡,对残留网卡进行删除时,针对不同的云厂商,可根据云厂商自身的接口调用方法,调用虚拟网卡解绑接口将残留网卡从承载节点上进行删除。
可以理解地,在本发明实施例中,将网卡从承载节点上进行删除,即通过调用虚拟网卡解绑接口,将网卡从承载节点上进行卸载,使网卡脱离承载节点,网卡脱离承载节点后,该网卡依旧可以挂载于容器集群中的其他承载节点。
本发明实施例提供的网卡处理方法,通过在预设记录文件中记录运行于承载节点的容器与设置于承载节点的网卡的关联关系,提供了残留网卡的删除依据,基于预设记录文件,通过比对容器集群中在用容器的网卡状态,实现了承载节点残留网卡的准确鉴别,通过对残留网卡的鉴别与清理,可有效降低残留网卡资源的占用,可大大减少人工干预清理环境的工作量,保证网卡数据的准确性与一致性。
本发明实施例提供的网卡处理方法,在判定得到目标网卡为残留网卡后,根据云厂商自身的接口调用方法,调用虚拟网卡解绑接口对残留网卡进行清理(删除),因此,本发明实施例提供的网卡处理方法可使用于不同的云厂商,适用性强。
请结合参阅图3,为了进一步提高鉴别残留网卡的准确性,本发明实施例提供的网卡处理方法还包括步骤S40至步骤S80。
步骤S40:获取所述承载节点上的处于未使用状态的待处理网卡。
其中,为某个容器配置对应的网卡时,其流程主要为,向公有云API(ApplicationProgramming Interface,应用程序接口)申请网卡,网卡申请得到后将网卡挂载到承载节点上,将挂载到承载节点上的网卡挂载到对应的容器上。若承载节点在对某个容器配置对应的网卡时,向公有云API申请的网卡只挂载于承载节点,还未挂载到容器时,此时,该网卡的状态即处于未使用状态,即容器还未正式启用该网卡,且该网卡此时只有MAC地址,承载节点还未分配IP地址;将申请的网卡挂载到容器后,此时,该网卡的状态的处于使用状态,且该网卡已分配IP地址。网卡处于未使用状态与网卡处于残留状态是一致的,因此,为了进一步提高鉴别残留网卡的准确性,还需要对承载节点上处于未使用状态的网卡进行鉴别。
步骤S50:根据所述待处理网卡的MAC地址,检测所述容器集群中是否存在使用所述待处理网卡的容器。
若不存在,执行步骤S51;若存在,执行步骤S60。
步骤S51:从所述承载节点删除所述待处理网卡。
步骤S60:判断使用所述待处理网卡的容器是否运行于所述承载节点。
其中,若某个容器使用某个网卡,则该容器记录有该网卡的MAC地址,因此,即可基于待处理网卡的MAC地址,检测容器集群中是否存在使用待处理网卡的容器。若容器集群中不存在使用该待处理网卡的容器,判定该待处理网卡为残留网卡,从承载节点删除该待处理网卡。若容器集群中存在使用待处理网卡的容器,则还需要判断使用该待处理网卡的容器是否运行于该待处理网卡所在的承载节点。
进一步的,若使用所述待处理网卡的容器运行于所述承载节点,执行步骤S70;若使用所述待处理网卡的容器未运行于所述承载节点,执行步骤S80。
步骤S70:将使用所述待处理网卡的容器与所述待处理网卡关联并记录于所述预设记录文件。
步骤S80:从所述承载节点删除所述待处理网卡。
其中,若使用待处理网卡的容器运行于该待处理网卡所在的承载节点,表示该待处理网卡处于网卡配置过程中,将待处理网卡挂载到使用该待处理网卡的容器上,以将使用待处理网卡的容器与待处理网卡进行关联并记录于预设记录文件。若使用待处理网卡的容器未运行于该待处理网卡所在的承载节点,判定该待处理网卡为残留网卡,从承载节点删除该待处理网卡。在本发明实施例中,检测承载节点上处于未使用状态的待处理网卡的方法,根据容器网络自身配置策略而设定,本发明实施例不做限制。
进一步的,所述获取所述承载节点上的处于未使用状态的待处理网卡的步骤包括:
按照第二预设时间间隔获取所述承载节点上的处于未使用状态的待处理网卡。
所述将预设记录文件中记录的容器与获取的容器进行比对的步骤包括:
按照第一预设时间间隔将所述预设记录文件中记录的容器与获取的容器的进行比对。
在本发明实施例中,在每个承载节点上都配置有一守护进程,用于定时触发鉴别残留网卡的操作。
其中,第一预设时间间隔与第二预设时间间隔的大小不做限定,获取承载节点上处于未使用状态的待处理网卡的步骤可设置于将预设记录文件中记录的容器与获取的容器进行比对的步骤之后,也可以将获取承载节点上处于未使用状态的待处理网卡的步骤与将预设记录文件中记录的容器与获取的容器进行比对的步骤设置为互斥操作,以避免获取承载节点上处于未使用状态的待处理网卡的步骤与将预设记录文件中记录的容器与获取的容器进行比对的步骤同时进行,提高了鉴别残留网卡的可靠性。
本发明实施例提供的网卡处理方法,一方面通过将预设记录文件中记录的容器与容器集群中的容器进行比对,获得目标网卡,根据目标网卡的使用状态对残留网卡进行鉴别,另一方面通过检测容器集群中是否存在使用承载节点上处于未使用状态的网卡的容器,对承载节点上处于未使用状态的网卡进行鉴别,进而从多方面对承载节点上的残留网卡进行鉴别,保证了对承载节点残留网卡鉴别的准确性。
进一步的,本发明实施例提供的网卡处理方法还包括生成预设记录文件的步骤,该步骤包括:
在所述承载节点创建容器,并为创建的容器配置对应的网卡时,将创建的容器的识别码与该容器对应的网卡的ID关联并记录于所述预设记录文件,将所述预设记录文件保存于所述承载节点。
其中,每个承载节点对应有一预设记录文件,每个预设记录文件保存于对应承载节点的设定目录下。在每个承载节点创建容器,并为创建的容器配置对应的网卡时,每个容器都设有唯一识别码,每个网卡都设有唯一ID。
可选的,在本发明中,对每个容器的识别码为通用唯一识别码(UniversallyUnique Identifier,UUID)。
可选的,在本发明中,将创建的容器的识别码与该容器对应的网卡的ID关联并记录于预设记录文件时,其创建的容器的识别码与该容器对应的网卡的ID关联关系可按行记录于预设记录文件,其记录格式可以如下:
<容器UUID1>=<网卡ID1>;
<容器UUID2>=<网卡ID2>;
<容器UUID3>=<网卡ID3>;
在承载节点每次完成创建容器,并为创建的容器配置对应的网卡后,在对应的预设记录文件中都会生成一行容器UUID与容器对应网卡ID的关联关系记录。
进一步的,在本发明实施例提供的网卡处理方法中,所述为创建的容器配置对应的网卡的操作与从所述承载节点删除所述目标网卡的操作为互斥操作。
其中,为了保证残留网卡删除操作的可靠性,在每个承载节点上都配置有互斥锁,以对每个承载节点上为容器配置对应的网卡的操作与删除残留网卡的操作予以限制,防止为容器配置对应的网卡的操作与删除承载节点上残留网卡的操作同时进行。
本发明实施例提供的网卡处理方法,通过在预设记录文件中记录运行于承载节点的容器与设置于承载节点的网卡的关联关系,提供了残留网卡的删除依据,基于预设记录文件,通过比对容器集群中在用容器的网卡状态,实现了承载节点残留网卡的准确鉴别与清理,保证了网卡数据的准确性以及一致性。
在上述基础上,请结合参阅图4,本发明实施例提供一种网卡处理装置10,应用于承载节点,所述承载节点用于承载容器集群中的容器;所述网卡处理装置10包括处理模块11以及清理模块12。
所述处理模块11用于获取所述容器集群中处于使用状态的容器,将预设记录文件中记录的容器与获取的容器进行比对,判断所述预设记录文件中是否记录有目标容器;其中,所述预设记录文件中记录有运行于所述承载节点的容器与设置于所述承载节点的网卡的关联关系。
若所述预设记录文件中记录有所述目标容器,所述清理模块12用于从所述预设记录文件中确定与所述目标容器关联的目标网卡,根据所述目标网卡的使用状态确定是否从所述承载节点删除所述目标网卡。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的网卡处理装置10的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请结合参阅图5,本发明实施例在上述基础上还提供了一种电子设备100,所述电子设备100包括存储器20、处理器30、网卡处理装置10以及通信模块40。
所述存储器20、处理器30以及通信模块40各个元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互直接可通过一条或多条通讯总线或信号线实现电性连接。所述网卡处理装置10包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器20中的软件功能模块,所述处理器30通过运行存储在存储器20内的软件程序以及模块,从而执行各种功能应用以及数据处理。
其中,所述存储器20可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器20用于存储程序,所述处理器30在接收到执行指令后,执行所述程序。
所述处理器30可能是一种集成电路芯片,具有信号的处理能力。上述的处理器30可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
所述通信模块40用于通过网络建立所述电子设备100与其他外部设备之间的通信连接,并通过所述网络进行数据传输。
可以理解,图5所示的结构仅为示意,所述电子设备100还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
可选地,所述电子设备100的具体类型不受限制,例如,可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digitalassistant,PDA)、移动上网设备(mobile Internet device,MID)、web(网站)服务器、数据服务器、电脑、移动上网设备(mobile Internet device,MID)等具有处理功能的设备。
本发明实施例提供的一种电子设备100,由于包括上述网卡处理装置10,因此,该电子设备100具有与上述网卡处理装置10相同的技术特征,在此不再一一赘述,请参考对上述网卡处理装置10的解释说明。
在上述基础上,本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序在执行时实现前述实施方式中任一项所述的网卡处理方法中的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储介质的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本发明实施例提供一种网卡处理方法、装置、电子设备和存储介质,通过将预设记录文件中记录的容器与获取的容器集群中的容器进行比对,判断预设记录文件中是否记录有存在于预设记录文件而未存在于容器集群中的目标容器,若预设记录文件中记录有目标容器,则从预设记录文件中获取与目标容器关联的目标网卡,根据目标网卡的使用状态确定是否从承载节点删除目标网卡,以此实现残留网卡的有效鉴别以及清理,保证了网卡数据的准确性与一致性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种网卡处理方法,其特征在于,应用于承载节点,所述承载节点用于承载容器集群中的容器;所述方法包括:
获取所述容器集群中处于使用状态的容器,将预设记录文件中记录的容器与获取的容器进行比对,判断所述预设记录文件中是否记录有目标容器;其中,所述预设记录文件中记录有运行于所述承载节点的容器与设置于所述承载节点的网卡的关联关系;
若所述预设记录文件中记录有所述目标容器,则从所述预设记录文件中确定与所述目标容器关联的目标网卡;
根据所述目标网卡的使用状态确定是否从所述承载节点删除所述目标网卡。
2.根据权利要求1所述的网卡处理方法,其特征在于,所述判断所述预设记录文件中是否记录有目标容器的步骤包括:
判断所述预设记录文件中是否记录有存在于所述预设记录文件而未存在于所述容器集群中的目标容器。
3.根据权利要求1所述的网卡处理方法,其特征在于,所述根据所述目标网卡的使用状态确定是否从所述承载节点删除所述目标网卡的步骤包括:
基于所述目标网卡的IP地址,判断所述容器集群中是否存在使用所述目标网卡的容器,若所述容器集群中不存在使用所述目标网卡的容器,则从所述承载节点删除所述目标网卡。
4.根据权利要求3所述的网卡处理方法,其特征在于,若所述容器集群中存在使用所述目标网卡的容器,所述方法还包括:
判断使用所述目标网卡的容器是否运行于所述承载节点;
若使用所述目标网卡的容器未运行于所述承载节点,则从所述承载节点删除所述目标网卡。
5.根据权利要求4所述的网卡处理方法,其特征在于,若使用所述目标网卡的容器运行于所述承载节点,所述方法还包括:
将所述预设记录文件中所述目标网卡关联的容器更新为使用该目标网卡的容器。
6.根据权利要求1所述的网卡处理方法,其特征在于,所述方法还包括:
获取所述承载节点上的处于未使用状态的待处理网卡;
根据所述待处理网卡的MAC地址,检测所述容器集群中是否存在使用所述待处理网卡的容器,若所述容器集群中不存在使用所述待处理网卡的容器,则从所述承载节点删除所述待处理网卡。
7.根据权利要求6所述的网卡处理方法,其特征在于,若所述容器集群中存在使用所述待处理网卡的容器,所述方法还包括:
判断使用所述待处理网卡的容器是否运行于所述承载节点;
若使用所述待处理网卡的容器运行于所述承载节点,将使用所述待处理网卡的容器与所述待处理网卡关联并记录于所述预设记录文件;
若使用所述待处理网卡的容器未运行于所述承载节点,则从所述承载节点删除所述待处理网卡。
8.根据权利要求1所述的网卡处理方法,其特征在于,所述方法还包括生成预设记录文件的步骤,该步骤包括:
在所述承载节点创建容器,并为创建的容器配置对应的网卡时,将创建的容器的识别码与该容器对应的网卡的ID关联并记录于所述预设记录文件,将所述预设记录文件保存于所述承载节点。
9.一种网卡处理装置,其特征在于,应用于承载节点,所述承载节点用于承载容器集群中的容器;所述网卡处理装置包括处理模块以及清理模块;
所述处理模块用于获取所述容器集群中处于使用状态的容器,将预设记录文件中记录的容器与获取的容器进行比对,判断所述预设记录文件中是否记录有目标容器;其中,所述预设记录文件中记录有运行于所述承载节点的容器与设置于所述承载节点的网卡的关联关系;
若所述预设记录文件中记录有所述目标容器,所述清理模块用于从所述预设记录文件中确定与所述目标容器关联的目标网卡,根据所述目标网卡的使用状态确定是否从所述承载节点删除所述目标网卡。
10.一种电子设备,其特征在于,所述电子设备包括存储器、处理器及权利要求9所述的网卡处理装置,所述网卡处理装置位于所述存储器并包括一个或多个由所述处理器执行的软件功能模块。
11.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在执行时实现权利要求1-8中任一项所述的网卡处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910679894.4A CN110362386B (zh) | 2019-07-25 | 2019-07-25 | 网卡处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910679894.4A CN110362386B (zh) | 2019-07-25 | 2019-07-25 | 网卡处理方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110362386A true CN110362386A (zh) | 2019-10-22 |
CN110362386B CN110362386B (zh) | 2021-12-03 |
Family
ID=68221588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910679894.4A Active CN110362386B (zh) | 2019-07-25 | 2019-07-25 | 网卡处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362386B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746676A (zh) * | 2021-09-01 | 2021-12-03 | 京东科技信息技术有限公司 | 基于容器集群的网卡管理方法、装置、设备、介质及产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731514A (zh) * | 2013-12-29 | 2014-04-16 | 国云科技股份有限公司 | 一种虚拟网络管理方法 |
CN106201657A (zh) * | 2016-07-07 | 2016-12-07 | 天脉聚源(北京)传媒科技有限公司 | 一种基于虚拟机的网卡信息处理方法及装置 |
CN107317710A (zh) * | 2017-06-30 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种基于SDN网络对虚拟网卡进行QoS配置的方法与装置 |
CN107995326A (zh) * | 2017-12-13 | 2018-05-04 | 北京搜狐新媒体信息技术有限公司 | 一种容器网络的管理方法及装置 |
KR20190053993A (ko) * | 2017-11-10 | 2019-05-21 | 주식회사 데브스택 | Gpu 클라우드 환경에서 응용 상태와 오케스트레이션 서비스 연동을 이용한 자원 관리 방법과 시스템 |
-
2019
- 2019-07-25 CN CN201910679894.4A patent/CN110362386B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731514A (zh) * | 2013-12-29 | 2014-04-16 | 国云科技股份有限公司 | 一种虚拟网络管理方法 |
CN106201657A (zh) * | 2016-07-07 | 2016-12-07 | 天脉聚源(北京)传媒科技有限公司 | 一种基于虚拟机的网卡信息处理方法及装置 |
CN107317710A (zh) * | 2017-06-30 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种基于SDN网络对虚拟网卡进行QoS配置的方法与装置 |
KR20190053993A (ko) * | 2017-11-10 | 2019-05-21 | 주식회사 데브스택 | Gpu 클라우드 환경에서 응용 상태와 오케스트레이션 서비스 연동을 이용한 자원 관리 방법과 시스템 |
CN107995326A (zh) * | 2017-12-13 | 2018-05-04 | 北京搜狐新媒体信息技术有限公司 | 一种容器网络的管理方法及装置 |
Non-Patent Citations (2)
Title |
---|
LEIRA, RAFAEL: "Performance assessment of 40 Gbit/s off-the-shelf network cards for virtual network probes in 5G networks", 《COMPUTER NETWORKS》 * |
张晨: "基于KVM平台的VSR自动化测试方案设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746676A (zh) * | 2021-09-01 | 2021-12-03 | 京东科技信息技术有限公司 | 基于容器集群的网卡管理方法、装置、设备、介质及产品 |
CN113746676B (zh) * | 2021-09-01 | 2023-09-01 | 京东科技信息技术有限公司 | 基于容器集群的网卡管理方法、装置、设备、介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN110362386B (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549580B (zh) | 自动部署Kubernetes从节点的方法及终端设备 | |
US20210004258A1 (en) | Method and Apparatus for Creating Virtual Machine | |
US10838747B2 (en) | Virtual appliances | |
CN109067877B (zh) | 一种云计算平台部署的控制方法、服务器及存储介质 | |
US20220004410A1 (en) | Method For Deploying Virtual Machine And Container, And Related Apparatus | |
CN109788068B (zh) | 心跳状态信息上报方法、装置和设备及计算机存储介质 | |
CN114884838B (zh) | Kubernetes组件的监控方法及服务器 | |
CN109710317B (zh) | 系统启动方法、装置、电子设备及存储介质 | |
WO2020103925A1 (zh) | 一种容器化虚拟网络功能的部署方法和装置 | |
WO2017035737A1 (zh) | 一种网络服务描述符上架方法及装置 | |
CN109358967A (zh) | 一种me平台app实例化迁移方法及服务器 | |
CN110928554A (zh) | 一种部署方法、装置、设备及存储介质 | |
CN110489305B (zh) | 一种服务器管理方法及装置 | |
CN109032685A (zh) | 一种加速安卓系统启动的方法及终端 | |
CN113285843B (zh) | 容器网络配置方法、装置、计算机可读介质及电子设备 | |
CN112559127B (zh) | 虚拟机创建方法、装置、主机及存储介质 | |
CN113986539A (zh) | 实现pod固定IP的方法、装置、电子设备和可读存储介质 | |
CN110362386A (zh) | 网卡处理方法、装置、电子设备和存储介质 | |
CN113419813A (zh) | 一种基于容器平台部署裸机管理服务的方法及装置 | |
US20200379900A1 (en) | Configurable memory device connected to a microprocessor | |
CN116724543A (zh) | 容器集群的管理方法和装置 | |
CN109495298B (zh) | 在OpenStack系统中管理节点的方法和装置 | |
CN109117243B (zh) | 业务部署方法、装置、客户端设备及计算机可读存储介质 | |
CN112130900B (zh) | 一种bmc的用户信息管理方法、系统、设备以及介质 | |
CN112889247B (zh) | Vnf服务实例化方法及装置 |
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 |