CN114500279B - 一种插件配置方法及装置 - Google Patents
一种插件配置方法及装置 Download PDFInfo
- Publication number
- CN114500279B CN114500279B CN202111658703.XA CN202111658703A CN114500279B CN 114500279 B CN114500279 B CN 114500279B CN 202111658703 A CN202111658703 A CN 202111658703A CN 114500279 B CN114500279 B CN 114500279B
- Authority
- CN
- China
- Prior art keywords
- cni
- plug
- standby
- configuration
- main
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 24
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000006854 communication Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 241000322338 Loeseliastrum Species 0.000 description 5
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 206010033799 Paralysis Diseases 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101150096185 PAAS gene Proteins 0.000 description 1
- 230000004064 dysfunction Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- 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
Abstract
本申请应用于互联网技术领域,提供了一种插件配置方法及装置,用以实现多个插件自动切换,降低人工成本,提供执行效率和可靠性。该方法包括:获取用户配置的多个容器网络接口CNI插件的信息,多个CNI插件包括主CNI插件和至少一个备CNI插件;在多个节点配置第一配置文件,其中第一配置文件包括主CNI插件对应的配置信息;响应于第一指令,将目标节点对应的第一配置文件中的主CNI插件的配置信息替换为目标备CNI插件的配置信息,目标节点为多个节点中的一个,目标备CNI插件为备CNI插件中的一个。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种插件配置方法及装置。
背景技术
库伯内特斯(Kubernetes,K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用,是目前PAAS业务的主要承载平台。容器网络接口(Container NetworkInterface,CNI)机制能够提供容器网络的配置功能。因此,CNI方案可以为Kubernetes平台容器提供相关的网络服务,实现集群内容器网络互通,其中,CNI方案例如卡里科(calico)、法兰诺(flannel)、介质访问控制虚拟局域网(Media Access Control Virtual LocalArea Network,macvlan)、单根输入输出(Input/Output,I/O)虚拟化(Single Root I/OVirtualization,SRIOV)等。但是,Kubernetes仅支持部署一种CNI方案,无法提供多种CNI插件备份功能,因此,可以通过穆图斯(multus)可以配置多种CNI插件,为容器配置多网卡。
然而,当网络状态出现异常时,多种CNI插件无法完成自动切换,就会导致Kubernetes平台网络瘫痪,管理人员需要长时间监控网络状态,如果发现网络状态异常,则需要手动修复故障的CNI插件或者重装CNI插件,该修复或重装的操作复杂且容易出错,因此产生的人力成本较高,并且该修复或重装过程需要中断Kubernetes平台的容器服务,因此会影响业务功能。
发明内容
本申请提供了一种插件配置方法及装置,用以实现多个插件自动切换,降低人工成本,提供执行效率和可靠性。
第一方面,本申请提供了一种插件配置方法,该方法包括:获取用户配置的多个容器网络接口CNI插件的信息,多个CNI插件包括主CNI插件和至少一个备CNI插件;在多个节点配置第一配置文件,其中第一配置文件包括主CNI插件对应的配置信息;响应于第一指令,将目标节点对应的第一配置文件中的主CNI插件的配置信息替换为目标备CNI插件的配置信息,目标节点为多个节点中的一个,目标备CNI插件为备CNI插件中的一个。
基于以上方法,可以实现多个插件自动切换,降低人工成本,提供执行效率和可靠性。
在一种可能的设计中,方法还包括:根据多个CNI插件的信息规划容器网段。
在一种可能的设计中,方法还包括:监控每个节点的主CNI插件的运行状态;确定目标节点的主CNI插件的运行状态为异常状态,触发第一指令。
在一种可能的设计中,根据目标备CNI插件分配的网络信息进行配置。
在一种可能的设计中,第一配置文件为multus.conf配置文件。
第二方面,本申请还提供了一种插件配置装置,该装置包括获取模块和处理模块。该获取模块用于获取用户配置的多个容器网络接口CNI插件的信息,多个CNI插件包括主CNI插件和至少一个备CNI插件;该处理模块用于在多个节点配置第一配置文件,其中第一配置文件包括主CNI插件对应的配置信息;该处理模块还用于响应于第一指令,将目标节点对应的第一配置文件中的主CNI插件的配置信息替换为目标备CNI插件的配置信息,目标节点为多个节点中的一个,目标备CNI插件为备CNI插件中的一个。
在一种可能的设计中,该处理模块还用于:根据多个CNI插件的信息规划容器网段。
在一种可能的设计中,该处理模块还用于:监控每个节点的主CNI插件的运行状态;确定目标节点的主CNI插件的运行状态为异常状态,触发第一指令。
在一种可能的设计中,该处理模块还用于:根据目标备CNI插件分配的网络信息进行配置。
在一种可能的设计中,第一配置文件为multus.conf配置文件。
第三方面,本申请还提供了一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述第一方面及其任一可能的设计所述插件配置方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面及其任一可能的设计所述插件配置方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如第一方面及其任一可能的设计所述插件配置方法的步骤。
另外,第二方面至第五方面所带来的技术效果可参见上述第一方面的描述,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种提供网络服务的流程示意图;
图2为另一种提供网络服务的流程示意图;
图3为一种切换CNI插件的流程示意图;
图4为本申请实施例提供的一种插件配置的方法;
图5为本申请实施例提供的一种主CNI插件的配置流程示意图;
图6为本申请实施例提供的另一种切换CNI插件的流程示意图;
图7为本申请实施例提供的另一种切换CNI插件的流程示意图;
图8为本申请实施例提供的一种插件配置装置的模块化结构示意图;
图9为本申请实施例提供的另一种插件配置装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
图1为一种通过单个CNI方案为Kubernetes平台容器提供相关的网络服务的流程示意图,其中,Kubernetes平台可以存在于Kubernetes簇(K8s cluster)中,库贝莱(Kubelet)是kubernetes工作节点(node)上的一个代理组件,运行在Kubernetes平台的每个节点上,当数据结构(plain old data,pod)对象进行创建、更新或删除时,Kubelet可以调用CNI插件完成pod网络相关配置。
具体的,该方案具体包括以下步骤:1、用户通过Kubernetes平台的应用程序接口服务器(Application Program Interface-server,api-server)接收pod对象对应的操作事件,例如创建(add)、更新(update)或删除(del)。2、部署在Kubernetes平台的Kubelet可以监控pod事件,接收pod对象对应的操作事件以及其他相关信息。3、Kubelet还可以从CNI配置文件中获取CNI插件相关配置,具体来说,Kubelet只能获取/etc/cni/net.d目录下第一个可用配置文件(例如/etc/cni/net.d/xxxnet.conf)。4、Kubelet还可以调用CNI可执行文件(CNI插件二进制,例如/opt/cni/bin/xxxnet)。5、Kubelet还可以根据上述可执行文件配置POD网络。举例来说,当pod对象对应的操作事件为创建pod时,Kubelet可以接收pod信息,并发送给CNI可执行文件,由CNI可执行文件分配互联网协议(Internet Protocol,IP)地址和网卡的局域网(Media Access Control,mac)地址,从而完成pod网络配置;当pod对象对应的操作事件为删除pod时,CNI可执行文件可以回收该pod对应的IP和mac。
因此,Kubelet只能获取对应目录下第一个可用配置文件,故Kubernetes平台只能配置一种CNI插件,也就只能为容器配置单个网卡和单个IP。
图2为另一种通过多个CNI方案为Kubernetes平台容器提供相关的网络服务的流程示意图,该方法可以通过multus配置多种CNI插件,其中,multus可以使Kubernetes平台同时配置多种CNI插件,其功能是为容器配置多张网卡和/或多个IP。
具体的,该方案具体包括以下步骤:1、用户通过Kubernetes平台的api-server接收pod对象对应的操作事件,例如创建(add)、更新(update)或删除(del)。2、部署在Kubernetes平台的Kubelet可以监控pod事件,接收pod对象对应的操作事件以及其他相关信息。3、Kubelet可以从CNI配置文件(包括multus配置文件)中获取CNI插件相关配置,具体来说,Kubelet可以读取multus配置文件(/etc/cni/net.d/目录下的至少一个配置文件,例如/etc/cni/net.d/multus.conf,其中包括macvlan、flannel、calico……)。4、Kubelet还可以依次调用multus配置的CNI可执行文件(CNI插件二进制,例如/opt/cni/bin/xxxnet)。5、Kubelet还可以根据上述可执行文件配置POD网络。举例来说,当pod对象对应的操作事件为创建pod时,Kubelet可以接收pod信息,依次调用响应的CNI可执行文件,从而完成pod网络配置;当pod对象对应的操作事件为删除pod时,多个CNI插件可以回收该pod对应的IP和mac。
因此,该方案能够为容器分配单个或多个网卡,并配置网络信息。然而,K8scluster的CNI插件功能异常会导致CNI无法为K8s cluster提供网络服务,导致K8scluster网络瘫痪。
图3为一种切换CNI插件为Kubernetes平台容器提供相关的网络服务的流程示意图,该方案具体包括以下步骤:用户配置容器网络;编排工具根据用户配置信息生成容器网络;判断该网络是否正常运行。如果该网络不能正常运行,则需要用户重新配置容器网络。如果该网络可以正常运行,则判断用户是否切换网络方案,其中,如果用户已切换网络方案,则再次判断该网络是否正常运行,如果用户没有切换网络方案,则需要用户重新配置容器网络。
可见,该方案要求管理人员定期检查CNI插件健康状态,增加了人力成本。同时,由于管理人员在重新部署网络时,作业难度大,耗费时间长,还需要中断服务,因此可能会因为业务中断导致业务处理的错误。
为了实现多个插件自动切换,降低人工成本,提供执行效率和可靠性,本申请实施例提供一种插件配置方法。通过为多个插件配置优先级,实现多个插件的自动切换,以解决前述技术问题。
具体的,本方案提出了一种基于Kubernetes平台的高可靠性的网络实现方法,具体包括:用户可同时部署多种网络插件,并选择其中一个网络插件作为主CNI,为容器配置网络。其他网络插件作为备CNI,并配置优先级。当主CNI功能异常时,Kubernetes平台将自动切换CNI插件,确保网络功能正常。
下面结合附图,对本申请实施例提供的插件配置方法进行说明。图4为本申请实施例提供的一种插件配置的方法,该方法可包括以下步骤:
S101:插件配置装置可以获取用户配置的多个CNI插件的信息,多个CNI插件包括主CNI插件和至少一个备CNI插件。
具体的,插件配置装置可以获取用户(或管理人员)配置的多个CNI插件的信息,其中,用户可以根据按照场景需求确定多个CNI插件的信息,多个CNI插件包括一个主CNI插件和至少一个备CNI插件,主CNI用于为K8s cluster提供网络服务,备CNI用于在网络故障时切换为新的主CNI为K8s cluster提供网络服务。应理解,同一时刻在Kubernetes平台中只能配置一个主CNI,主CNI插件的优先级最高,其次是备CNI插件。
可选的,如果多个CNI插件中包括两个或两个以上备CNI插件,插件配置装置可以为该两个或两个以上备CNI插件确定优先级。应理解,该优先级可以用于插件配置装置在网络故障时选择新的插件。
S102:插件配置装置在多个节点配置第一配置文件,其中第一配置文件包括主CNI插件对应的配置信息。具体的,插件配置装置可以通过脚本配置第一配置文件,配置成功则CNI插件可以为K8s cluster中每一个节点提供网络服务。
可选的,第一配置文件为multus.conf配置文件。举例来说,插件配置装置可以通过脚本在每个节点配置multus.conf文件,其中multus.conf只用于配置主CNI,因此可以保证主CNI插件被配置在K8s cluster中,为每一个节点提供网络服务。
可选的,每个节点的主CNI插件可以相同或不同,每个节点的多个CNI可以相同或不同。
在一种可能的设计中,插件配置装置可以根据多个CNI插件的信息规划容器网段。其中,该容器网段能够适用于主CNI插件,也能够适用于备CNI插件。具体的,管理人员可以合理规划容器网段,使得容器IP适用于主CNI插件和备CNI插件。
采用该设计,在需要CNI插件切换时,切换后的CNI插件仍然能够为K8s cluster提供网络服务。
在一种可能的设计中,插件配置装置可以在主CNI插件和所有备CNI插件中生成网络信息;或者,插件配置装置可以在主CNI插件和目标备CNI插件中生成网络信息。其中,目标备CNI插件可以是多个备CNI插件中随机选择的一个备CNI插件,也可以是多个备CNI插件中优先级最高的一个备CNI插件。
具体的,Kubelet监控获得pod对象对应的相关信息后,通过主CNI插件为K8scluster提供网络服务的过程中,会产生为容器分配的网络信息。举例来说,该过程中可能会创建、删除或更新pod时,每个节点上的Kubelet接收到pod事件后,调用主CNI的可执行文件,完成pod网络配置,因此产生至少一个网络信息。
其中,完成pod网络配置的具体过程可以包括:当pod对象对应的操作事件为创建pod时,Kubelet可以接收pod信息,依次调用响应的CNI可执行文件,从而完成pod网络配置;当pod对象对应的操作事件为删除pod时,多个CNI插件可以回收该pod对应的IP和mac。
插件配置装置可以根据所有备CNI插件(或者目标备CNI插件)分别确定网络信息。具体的,插件配置装置还可以在获得pod对象对应的相关信息后,通过该备CNI插件产生与上述网络信息相同的网络信息(例如IP),将该网络信息存储在该备CNI插件对应的存储模块或者存储在插件配置装置中。举例来说,插件配置装置可以将上述网络信息发送给该备CNI插件,或者,通过该备CNI插件根据pod对象对应的相关信息确定网络信息。需要注意的是,该网络信息与上述主CNI插件所确定的网络信息应该保持一致。
采用该设计,能够保证主CNI插件和目标备CNI插件中的网络信息保持一致,在需要CNI插件切换时,切换后的CNI插件仍然保留与原CNI插件一致的网络信息,从而避免因为业务中断导致业务处理的错误。
S103:插件配置装置响应于第一指令,将目标节点对应的第一配置文件中的主CNI插件的配置信息替换为目标备CNI插件的配置信息,目标节点为多个节点中的一个,目标备CNI插件为备CNI插件中的一个。
具体的,插件配置装置响应于第一指令,将目标节点对应的第一配置文件中的主CNI插件的配置信息替换为目标备CNI插件的配置信息,目标节点为多个节点中的一个。仍以第一配置文件为multus.conf配置文件为例,插件配置装置可以通过脚本在目标节点中更新multus.conf配置文件,更新后的配置文件只配置该目标备CNI插件,该目标备CNI插件也就是新的主CNI插件。
采用该方法,能够通过更新配置文件实现CNI插件的切换,降低人工成本,提供执行效率和可靠性。
在一种可能的设计中,插件配置装置监控每个节点的主CNI插件的运行状态;插件配置装置确定目标节点的主CNI插件的运行状态为异常状态,触发第一指令。
可选的,管理人员在根据当前网络运行状态确定主CNI插件故障或者确定需要切换CNI插件时,触发第一指令。
在一种可能的设计中,插件配置装置可以根据目标备CNI插件分配的网络信息进行配置。其中,目标备CNI插件可以是多个备CNI插件中随机选择的一个备CNI插件,也可以是多个备CNI插件中优先级最高的一个备CNI插件。示例性的,在完成CNI插件切换之后,插件配置装置主动触发第二指令,第二指令用于根据更新后的CNI插件的网络信息进行配置。
可选的,插件配置装置还可以根据所有备CNI插件分配的网络信息进行配置。
示例性的,插件配置装置可以根据目标备CNI插件(即新的主CNI插件)分配的网络信息进行配置。
采用该设计,因为主CNI插件和目标备CNI插件中的网络信息保持一致,切换后的CNI插件仍然保留与原CNI插件一致的网络信息,从而避免因为业务中断导致业务处理的错误。
图5为本申请实施例提供的一种主CNI插件的配置流程示意图,该方案包括以下步骤:1、插件配置装置获取用户按需配置的主CNI网络和至少一个备CNI插件的信息。2、插件配置装置在每个节点配置multus.conf文件,其中multus.conf只用于配置主CNI。3、用户通过Kubernetes平台的api-server接收pod对象对应的操作事件,例如创建(add)、更新(update)或删除(del)。4、部署在Kubernetes平台的Kubelet可以监控pod事件,接收pod对象对应的操作事件以及其他相关信息。5、Kubelet可以从CNI配置文件(包括multus配置文件)中获取CNI插件相关配置,例如/etc/cni/net.d/multus.conf,其中包括macvlan、flannel、calico……)。6、Kubelet还可以依次调用multus配置的CNI可执行文件(CNI插件二进制,例如/opt/cni/bin/xxxnet)。Kubelet还可以根据上述可执行文件配置POD网络。
图6为本申请实施例提供的一种CNI插件切换的流程示意图,该方案包括以下步骤:1、插件配置装置触发第一指令,第一指令用于指示切换CNI插件。2、插件配置装置响应于第一指令,在节点中更新multus.conf配置文件从而切换CNI插件。3、插件配置装置主动触发第二指令(例如pod update操作指令),第二指令用于指示根据更新后的CNI插件的网络信息进行配置。4、部署在Kubernetes平台的Kubelet可以监控pod事件,接收pod对象对应的操作事件以及其他相关信息。5、Kubelet可以从CNI配置文件(包括multus配置文件)中获取CNI插件相关配置,例如/etc/cni/net.d/multus.conf,其中包括macvlan、flannel、calico……)。6、Kubelet还可以依次调用multus配置的CNI可执行文件(CNI插件二进制,例如/opt/cni/bin/xxxnet)。Kubelet还可以根据上述可执行文件配置POD网络。
图7为本申请提供的一种CNI插件切换的流程示意图,该方案具体包括以下步骤:插件配置装置获取用户按需配置的主CNI网络和至少一个备CNI插件的信息。插件配置装置根据管理人员确定的多个CNI插件的信息规划容器网段。插件配置装置可以在主CNI插件和所有备CNI插件中生成网络信息并存储在插件配置装置中。插件配置装置判断当前主CNI插件配置的网络是否正常运行。如果该网络可以正常运行,则插件配置装置判断用户是否切换网络方案,如果用户没有切换网络方案,则插件配置装置再次判断当前主CNI插件配置的网络是否正常运行。如果该网络不能正常运行,或者,该网络可以正常运行但用户提供切换网络方案,则插件配置装置执行CNI插件切换,CNI插件切换的方法可参加图4的相关描述,此处不再赘述。
基于与上述认证方法的同一构思,本申请实施例还提供一种插件配置装置,用于实现上述由插件配置装置执行的方法。
图8所示为本申请实施例提供的一种插件配置装置的模块化结构示意图。
其中,获取模块801可用于执行S101和本申请描述的插件配置装置的其他通信动作,处理模块802可用于执行S102和S103或实现本申请描述的插件配置装置的其他处理动作。具体执行的动作和功能这里不再具体展开,可参照前述方法实施例部分的说明。
图9示出了本申请实施例提供的一种插件配置装置的结构示意图。
本申请实施例中的电子设备可包括处理器901。处理器901是该插件配置装置的控制中心,可以利用各种接口和线路连接该插件配置装置的各个部分,通过运行或执行存储在存储器902内的指令以及调用存储在存储器902内的数据。可选的,处理器901可包括一个或多个处理单元,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。在一些实施例中,处理器901和存储器902可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器901可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的插件配置装置所执行的步骤可以直接由硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器902存储有可被至少一个处理器901执行的指令,至少一个处理器901通过执行存储器902存储的指令,可以用于执行前述由插件配置装置执行的通信过程。
存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器902可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例中,该网络设备还可以包括通信接口903,插件配置装置可以通过该通信接口903传输数据。例如插件配置装置为服务器,通信接口903可用于获取用户配置的多个容器网络接口CNI插件的信息。
可选的,可由图9所示处理器901(或处理器901和存储器902)实现图8所示的处理模块802,和/或,由通信接口903实现图8所示的获取模块801。
基于相同的发明构思,本申请实施例还提供一种计算机可读存储介质,其中可存储有指令,当该指令在计算机上运行时,使得计算机执行上述方法实施例提供的操作步骤。该计算机可读存储介质可以是图9所示的存储器902。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (6)
1.一种插件配置方法,其特征在于,所述方法包括:
获取用户配置的多个容器网络接口CNI插件的信息,所述多个CNI插件包括主CNI插件和至少一个备CNI插件;
在多个节点配置第一配置文件,其中所述第一配置文件包括所述主CNI插件对应的配置信息;
响应于第一指令,将目标节点对应的所述第一配置文件中的所述主CNI插件的配置信息替换为目标备CNI插件的配置信息,所述目标节点为所述多个节点中的一个,所述目标备CNI插件为所述备CNI插件中的一个;
所述方法还包括:
监控每个节点的所述主CNI插件的运行状态;
确定所述目标节点的所述主CNI插件的运行状态为异常状态,触发所述第一指令;
所述方法还包括:
根据所述目标备CNI插件分配的网络信息进行配置;所述主CNI插件和所述目标备CNI插件中的网络信息相同。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述多个CNI插件的信息规划容器网段。
3.如权利要求1所述的方法,其特征在于,所述第一配置文件为穆图斯配置命令multus.conf文件。
4.一种插件配置装置,其特征在于,所述装置包括:
获取模块,所述获取模块用于获取用户配置的多个容器网络接口CNI插件的信息,所述多个CNI插件包括主CNI插件和至少一个备CNI插件;
处理模块,所述处理模块用于在多个节点配置第一配置文件,其中所述第一配置文件包括所述主CNI插件对应的配置信息;
所述处理模块还用于响应于第一指令,将目标节点对应的所述第一配置文件中的所述主CNI插件的配置信息替换为目标备CNI插件的配置信息,所述目标节点为所述多个节点中的一个,所述目标备CNI插件为所述备CNI插件中的一个;
所述处理模块还用于:
监控每个节点的所述主CNI插件的运行状态;
确定所述目标节点的所述主CNI插件的运行状态为异常状态,触发所述第一指令;
所述处理模块还用于:
根据所述目标备CNI插件分配的网络信息进行配置;所述主CNI插件和所述目标备CNI插件中的网络信息相同。
5.如权利要求4所述的装置,其特征在于,所述处理模块还用于:
根据所述多个CNI插件的信息规划容器网段。
6.如权利要求4所述的装置,其特征在于,所述第一配置文件为multus.conf配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111658703.XA CN114500279B (zh) | 2021-12-30 | 2021-12-30 | 一种插件配置方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111658703.XA CN114500279B (zh) | 2021-12-30 | 2021-12-30 | 一种插件配置方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114500279A CN114500279A (zh) | 2022-05-13 |
CN114500279B true CN114500279B (zh) | 2024-03-08 |
Family
ID=81508681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111658703.XA Active CN114500279B (zh) | 2021-12-30 | 2021-12-30 | 一种插件配置方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114500279B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101690006A (zh) * | 2007-05-14 | 2010-03-31 | Abb研究有限公司 | 对隔离计算机网络的简化支持 |
CN110750332A (zh) * | 2019-10-23 | 2020-02-04 | 广西梯度科技有限公司 | 一种在Kubernetes中Pod设置静态IP的方法 |
EP3637684A1 (de) * | 2018-10-12 | 2020-04-15 | Siemens Aktiengesellschaft | Verfahren zum automatischen konfigurieren eines systems, system, computerprogramm und computerlesbares medium |
CN111049796A (zh) * | 2019-10-25 | 2020-04-21 | 中国通信服务股份有限公司 | 一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法 |
CN111147297A (zh) * | 2019-12-23 | 2020-05-12 | 广东省新一代通信与网络创新研究院 | 一种kubernetes的多层网络平面构建方法 |
CN111371627A (zh) * | 2020-03-24 | 2020-07-03 | 广西梯度科技有限公司 | 一种在Kubernetes中Pod设置多IP的方法 |
CN111880902A (zh) * | 2020-07-29 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种pod创建方法、装置、设备及可读存储介质 |
CN112202615A (zh) * | 2020-09-30 | 2021-01-08 | 上海道客网络科技有限公司 | 一种多cni协同工作系统与方法 |
US10911374B1 (en) * | 2018-09-28 | 2021-02-02 | Riverbed Technology, Inc. | Software defined wide area network (SD WAN) enabled network fabric for containers |
CN112398936A (zh) * | 2020-11-06 | 2021-02-23 | 浪潮云信息技术股份公司 | 一种基于Kubernetes的多网卡容器实现方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039317B2 (en) * | 2002-11-25 | 2006-05-02 | General Instrument Corporation | Reconfigurable node for a hybrid fiber cable network |
US8683046B2 (en) * | 2008-11-21 | 2014-03-25 | Microsoft Corporation | Unified interface for configuring multiple networking technologies |
US11777790B2 (en) * | 2020-04-16 | 2023-10-03 | Ribbon Communications Operating Company, Inc. | Communications methods and apparatus for migrating a network interface and/or IP address from one Pod to another Pod in a Kubernetes system |
-
2021
- 2021-12-30 CN CN202111658703.XA patent/CN114500279B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101690006A (zh) * | 2007-05-14 | 2010-03-31 | Abb研究有限公司 | 对隔离计算机网络的简化支持 |
US10911374B1 (en) * | 2018-09-28 | 2021-02-02 | Riverbed Technology, Inc. | Software defined wide area network (SD WAN) enabled network fabric for containers |
EP3637684A1 (de) * | 2018-10-12 | 2020-04-15 | Siemens Aktiengesellschaft | Verfahren zum automatischen konfigurieren eines systems, system, computerprogramm und computerlesbares medium |
CN110750332A (zh) * | 2019-10-23 | 2020-02-04 | 广西梯度科技有限公司 | 一种在Kubernetes中Pod设置静态IP的方法 |
CN111049796A (zh) * | 2019-10-25 | 2020-04-21 | 中国通信服务股份有限公司 | 一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法 |
CN111147297A (zh) * | 2019-12-23 | 2020-05-12 | 广东省新一代通信与网络创新研究院 | 一种kubernetes的多层网络平面构建方法 |
CN111371627A (zh) * | 2020-03-24 | 2020-07-03 | 广西梯度科技有限公司 | 一种在Kubernetes中Pod设置多IP的方法 |
CN111880902A (zh) * | 2020-07-29 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种pod创建方法、装置、设备及可读存储介质 |
CN112202615A (zh) * | 2020-09-30 | 2021-01-08 | 上海道客网络科技有限公司 | 一种多cni协同工作系统与方法 |
CN112398936A (zh) * | 2020-11-06 | 2021-02-23 | 浪潮云信息技术股份公司 | 一种基于Kubernetes的多网卡容器实现方法及系统 |
Non-Patent Citations (2)
Title |
---|
Abdulaziz Almalaq等.Causality graph learning on cortical information flow in Parkinson's disease patients during behaviour tests.2015 49th Asilomar Conference on Signals, Systems and Computers.2016,全文. * |
基于插件技术的多目标指令集模拟器设计与实现;宋彭涛;蒋烈辉;谢耀滨;王九宇;余弦;田立;;信息工程大学学报;20100215(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114500279A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347675B (zh) | 服务器配置方法、装置以及电子设备 | |
CN106575247B (zh) | 计算集群的容错联盟 | |
US20180143854A1 (en) | Methods, systems and apparatus to perform a workflow in a software defined data center | |
CN111651178A (zh) | 容器配置更新方法、装置、计算机设备和存储介质 | |
CN105100259A (zh) | 一种分布式定时任务执行方法和系统 | |
CN112506617B (zh) | Kubernetes集群中边车容器的镜像更新方法及装置 | |
CN105103132A (zh) | 在升级期间修复云服务 | |
CN108347343B (zh) | 一种策略管理方法、装置和系统 | |
CN111209110B (zh) | 一种实现负载均衡的任务调度管理方法、系统和存储介质 | |
CN111045745A (zh) | 管理配置信息的方法和系统 | |
US20210406127A1 (en) | Method to orchestrate a container-based application on a terminal device | |
CN108319492B (zh) | 复位物理机的方法、装置与系统 | |
CN113382077B (zh) | 微服务调度方法、装置、计算机设备和存储介质 | |
CN113204353B (zh) | 一种大数据平台组件部署方法及装置 | |
CN110391940A (zh) | 服务地址的响应方法、装置、系统、设备和存储介质 | |
CN111866169A (zh) | 一种服务更新方法及装置、系统 | |
CN114500279B (zh) | 一种插件配置方法及装置 | |
CN113419818A (zh) | 基础组件部署方法、装置、服务器及存储介质 | |
CN114615268B (zh) | 基于Kubernetes集群的服务网络、监控节点、容器节点及设备 | |
CN106301877A (zh) | 一种虚拟网元的升级方法和装置 | |
CN114996352A (zh) | 数据库管理系统及方法 | |
CN115291891A (zh) | 一种集群管理的方法、装置及电子设备 | |
CN114662102A (zh) | 一种文件处理方法、装置及存储介质 | |
CN116360865A (zh) | 集群管理方法、设备及计算系统 | |
CN115484231B (zh) | 一种Pod IP分配方法及相关装置 |
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 |