掌桥专利:专业的专利平台
掌桥专利
首页

一种IP地址的分配方法、装置、电子设备以及存储介质

文献发布时间:2024-01-17 01:13:28


一种IP地址的分配方法、装置、电子设备以及存储介质

技术领域

本发明涉及数据处理技术领域,特别是涉及一种IP地址的分配方法、装置、电子设备以及存储介质。

背景技术

在由一组运行容器化应用程序的节点构成的集群(如Kubernetes集群)中,可以通过节点组件(如Cilium组件)对集群中每个节点下的容器组进行IP地址管理,而节点组件通常是在集群节点层面管理IP地址。

目标集群中节点组件的分配IP地址的方法为:集群中的一个节点组件首先需要将该目标集群的网段按照当前集群中的节点的数量拆分成多个小网段,进而,将每一个小网段分配给目标集群中对应的一个节点,当该节点下创建容器组时,节点组件将该节点对应的小网段中IP地址分配给对应的容器组。

然而,目标集群中节点以及容器组数据量是变化的,从而导致目标组件中的基于节点层面进行IP地址管理存在一定局限性。在一种场景中,在网段固定的情况下,在已经分配完目标集群子网段后,如新增节点,则无法为新增的节点分配对应的子网段,进而在该节点下创建的容器组也无法分配对应的IP地址;在另一种场景中,由于每个节点中创建的容器组数量是不同的,对应需要的IP地址数量也不同,由于节点组件提前为节点分配子网段,从而,会导致某些节点的IP地址用不完,而另一些节点的IP地址不够用,从而形成资源浪费。

发明内容

鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种IP地址的分配方法、装置、电子设备以及存储介质,包括:

一种IP地址的分配方法,应用于IP地址分配管理系统,所述IP地址分配系统用于对目标集群进行IP地址管理,所述目标集群由一组运行容器化应用程序的节点构成,所述目标集群的每个节点下可创建或删除一个或多个容器组,所述目标集群还包括用于创建或删除容器组的节点组件,所述方法包括:

创建待分配至目标集群的网段;所述网段包括多个待分配IP地址;

接收所述目标集群发送的IP地址分配请求,所述IP地址分配请求为所述节点组件在所述目标集群中任意节点下创建容器组时生成;

从所述网段中确定所述IP地址分配请求对应的目标IP地址,并将所述目标IP地址分配至所述容器组;其中,属于同一节点的不同容器组之间,容器组被分配的目标IP地址属于不同网段或者属于相同网段。

可选地,所述IP地址分配管理系统从所述网段中确定所述IP地址分配请求对应的目标IP地址,包括:

对所述IP地址分配请求进行解析,确定针对所述容器组的网段配置信息;

从所述网段中确定与所述网段配置信息匹配的目标IP地址。

可选地,在所述接收所述目标集群发送的IP地址分配请求之前,还包括:

创建多个用于分配IP地址的工作线程;

根据所述多个工作线程的数量将所述网段划分为多个子网段;

所述从所述网段中确定所述IP地址分配请求对应的目标IP地址,包括:

启动所述多个工作线程,执行从所述网段中确定所述IP地址分配请求对应的目标IP地址的步骤,其中,每个工作线程负责一个子网段中的IP地址分配。

可选地,还包括:

在检测到创建的工作线程数量发生变化时,基于变化后的工作线程数量重新划分多个子网段;

或者,在检测到所述网段的范围发生变化时,根据所述多个工作线程的数量将变化后的网段重新划分为多个子网段。

可选地,所述IP地址分配管理系统从所述网段中确定所述IP地址分配请求对应的目标IP地址,并将所述目标IP地址分配至所述容器组,包括:

从所述多个工作线程中确定用于处理IP地址分配请求的目标工作线程;

从目标工作线程对应的目标子网段中确定目标IP地址,并通过目标工作线程将所述目标IP地址分配至所述容器组。

可选地,在从所述多个工作线程中确定用于处理IP地址分配请求的目标工作线程之后,还包括:

判断所述目标子网段是否存在未分配IP地址;

在所述目标子网段不存在未分配IP地址时,暂停所述目标工作线程。

可选地,还包括:

接收所述目标集群发送的IP地址回收请求,所述IP地址回收请求为所述节点组件在所述目标集群中任意节点下删除容器组时生成;

确定所述IP地址回收请求对应的待回收IP地址,并对所述待回收IP地址进行回收。

一种基于目标集群的IP地址分配装置,应用于IP地址分配管理系统,所述IP地址分配系统用于对目标集群进行IP地址管理,所述目标集群由一组运行容器化应用程序的节点构成,所述目标集群的每个节点下可创建或删除一个或多个容器组,所述目标集群还包括用于创建或删除容器组的节点组件,所述装置包括:

网段配置模块,用于创建待分配至所述目标集群的网段;所述网段包括多个待分配IP地址;

分配请求模块,用于接收所述目标集群发送的IP地址分配请求,所述IP地址分配请求为所述节点组件在所述目标集群中任意节点下创建容器组时生成;

IP地址分配模块,用于从所述网段中确定所述IP地址分配请求对应的目标IP地址,并将所述目标IP地址分配至所述容器组;其中,属于同一节点的不同容器组之间,容器组被分配的目标IP地址属于不同网段或者属于相同网段。

一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现如上所述的方法步骤。

一种计算机可读存储介质,其上存储有计算机程序该程序被处理器执行时实现如上所述的方法。

本发明实施例具有以下优点:

本发明实施例通过IP地址分配管理系统创建待分配至目标集群的网段;所述网段包括多个待分配IP地址;接收所述目标集群发送的IP地址分配请求,所述IP地址分配请求为所述节点组件在所述目标集群中任意节点创建容器组时生成;从所述网段中确定所述IP地址分配请求对应的目标IP地址,并将所述目标IP地址分配至所述容器组;其中,属于同一节点的不同容器组之间,容器组被分配的目标IP地址属于不同网段或者属于相同网段。

在本发明实施例,当目标集群中创建容器组时,采用目标集群外的IP地址分配管理系统针对新创建的容器组从整个网段中分配对应的IP地址,即使目标集群新增节点,也可直接为新增节点下的容器组分配IP地址;而且,目标集群中为创建的容器组依次从整个网段中分配对应的IP地址,网段中包含的每个IP地址均可以被分配至容器组,避免资源浪费。

附图说明

为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的一种IP地址的分配方法的步骤流程图;

图2是本发明一实施例提供的另一种IP地址的分配方法的步骤流程图;

图3a是本发明一实施例提供的另一种IP地址的分配方法的步骤流程图;

图3b是本发明一实施例提供的一种IP地址分配管理系统与集群的结构示意图;

图4是本发明一实施例提供的另一种IP地址的分配方法的步骤流程图;

图5a是本发明一实施例提供的IP地址的分配的装置的结构示意图;

图5b是本发明一实施例提供的一种IP地址的分配的装置的子结构示意图;

图5c是本发明一实施例提供的另一种IP地址的分配的装置的子结构示意图;

图5d是本发明一实施例提供的另一种IP地址的分配的装置的子结构示意图;

图5e是本发明一实施例提供的另一种IP地址的分配的装置的子结构示意图;

图6是本发明一实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中,涉及IP地址分配管理系统以及目标集群,IP地址分配管理系统用于对一个或多个目标集群进行IP地址管理,在IP地址分配管理系统中可以设置有用于进行IP地址管理的微服务,IP地址分配管理系统可以通过调用微服务对集群的IP地址进行管理,其中,IP地址分配管理系统对集群的容器组的IP地址管理可以包括但不限于分配IP地址、回收集群容器组的IP地址等。目标集群可以由一组运行容器化应用程序的节点构成,集群中的节点数可以依照集群需求增减,在每个节点下可以依照集群需求创建一个或多个容器组,容器组为集群中的最小单元,容器组之间的通信依赖于容器组的IP地址,IP地址分配管理系统调用微服务对容器组进行IP地址分配或IP地址回收,在目标集群中还可以包括节点组件,节点组件可以用于创建或删除集群中的容器组,集群通过节点组件与IP地址分配管理系统进行通信,实现对集群容器组的IP地址进行分配或回收。如,在节点组件创建容器组时,生成该容器组的IP分配请求,并发送至IP地址分配管理系统,以请求IP地址分配管理系统为该创建的容器组分配对应的IP地址;在节点组件删除容器组时,生成该容器组对应的IP回收请求,并发送至IP地址分配管理系统,以请求IP地址分配管理系统回收删除的容器组对应的IP地址。

参照图1,示出了本发明一实施例提供的一种IP地址的分配方法的步骤流程图,涉及IP地址分配管理系统以及目标集群,具体可以包括如下步骤:

步骤101,创建待分配至目标集群的网段;网段包括多个待分配IP地址;

在目标集群中,任意节点之间的两个容器组可以进行通信,从而,目标集群中创建的每个容器组需要分配对应的IP地址以支持容器组之间的通信。

IP地址分配管理系统可以同时对一个或多个目标集群进行IP地址管理,IP地址管理的方式可以包括IP地址分配、IP地址回收等。

在IP地址分配管理系统中可以预先配置待分配至一个或多个目标集群的网段,在该网段中可以包括多个待分配的IP地址,从而,在容器组被目标集群创建时,可以通过IP地址分配管理系统为容器组分配IP地址,在容器组被目标集群删除时,可以回收容器组对应的IP地址至IP地址分配管理系统,以实现在IP地址分配管理系统中进行目标集群的IP地址管理。

步骤102,接收目标集群发送的IP地址分配请求,IP地址分配请求为节点组件在目标集群中任意节点下创建容器组时生成;

在目标集群中可以根据需要创建或删除节点上的容器组,针对目标集群中任意节点的每个容器组,在创建该容器组时,需要对该容器组分配IP地址,以基于IP地址实现容器组之间的通信,从而,当节点组件在目标集群任意节点下创建新容器组时,可以生成IP地址分配请求,该IP地址分配请求用于请求IP地址分配管理系统为该新生成的容器组分配对应的IP地址。

节点组件在生成IP地址分配请求后,可以将生成的IP地址分配请求发送至目标集群连接的IP地址分配管理系统,在IP地址分配管理系统中,基于接收的IP地址分配请求为目标集群创建的容器组分配一个IP地址。

在一示例中,目标集群可以Kubernetes(K8s)集群,Kubernetes(K8s)集群中的Cilium组件(即节点组件)为用于创建或删除pod(即容器组)的组件工具,Cilium组件在创建pod时,还可以为创建的pod配置相应属性,以使创建的Pod可以在K8s集群中以特定属性运行,其中,pod的metadata(即元数据)(annotation或label)中可以添加特定的标记信息以标记要使用的IP段,即当pod的metadata未添加标识时,则确定pod的IP段为默认IP段。

在K8s集群,Cilium组件(如cilium-agent)创建pod时,需要对该pod分配IP地址,进而实现pod之间的通信,从而,Cilium组件可以生成IP地址分配请求,该IP地址分配请求用于请求IP地址分配管理系统为pod分配对应IP地址。

在Cilium组件生成IP地址分配请求后,可以将IP地址分配请求发送至IP地址分配管理系统,以请求IP地址分配管理系统为pod分配IP地址。

步骤103,从网段中确定IP地址分配请求对应的目标IP地址,并将目标IP地址分配至容器组;其中,属于同一节点的不同容器组之间,容器组被分配的目标IP地址属于不同网段或者属于相同网段。

IP地址分配管理系统可以在收到IP地址分配请求后,执行对IP地址分配请求进行解析,进而从配置的网段中确定一未分配的IP地址作为IP地址分配请求对应的目标IP地址,并将该目标IP地址分配至容器组。

在本发明实施例中,在为节点下创建的容器组分配IP地址时无需考虑容器组所在节点,从而,同一节点下不同容器组可以处于相同网段,也可以处于不同网段。

在本发明实施例中通过创建待分配至目标集群的网段;网段包括多个待分配IP地址;接收目标集群发送的IP地址分配请求,IP地址分配请求为节点组件在目标集群中任意节点下创建容器组时生成;从网段中确定IP地址分配请求对应的目标IP地址,并将目标IP地址分配至容器组,从而,即使目标集群新增节点,也可直接为新增节点下的容器组分配IP地址;而且,目标集群中为创建的容器组依次从整个网段中分配对应的IP地址,从而网段中包含的每个IP地址均可以被分配至容器组,避免资源浪费。

参照图2,示出了本发明一实施例提供的另一种IP地址的分配方法的步骤流程图,应用于IP地址分配管理系统,IP地址分配系统用于对目标集群进行IP地址管理,目标集群由一组运行容器化应用程序的节点构成,目标集群的每个节点下可创建或删除一个或多个容器组,目标集群还包括用于创建或删除容器组的节点组件,具体可以包括如下步骤:

步骤201,创建待分配至目标集群的网段;网段包括多个待分配IP地址;

步骤202,接收目标集群发送的IP地址分配请求,IP地址分配请求为节点组件在目标集群中任意节点下创建容器组时生成;

步骤203,对IP地址分配请求进行解析,确定针对容器组的网段配置信息;

在IP地址分配请求中可以包括容器组的身份标识、容器组的网段配置信息等,IP地址分配管理系统在接收到目标集群发送的IP地址分配请求时,可以针对IP地址分配请求进行解析,得到容器组的身份标识和容器组的网段配置信息,容器组的网段配置信息可以指示容器组是否存在指定网段。

当节点组件在目标集群中创建容器组时,可以将创建的容器组的创建信息存储在集群数据库中,容器组的创建信息可以包括容器组的元数据,在容器组的元数据中可以添加指定的网段配置信息,容器组的网段配置信息可以指示容器组存在指定网段,当容器组的元数据中未添加指定的网段信息,则容器组的网段配置信息可以指示容器组不存在指定网段,可随机分配IP地址。

步骤204,从网段中确定与网段配置信息匹配的目标IP地址,并将目标IP地址分配至容器组;其中,属于同一节点的不同容器组之间,容器组被分配的目标IP地址属于不同网段或者属于相同网段。

IP地址分配管理系统在解析得到容器组的网段配置信息后,可以依照容器组的网段配置信息在网段中确定目标IP地址。当容器组的网段配置信息指示指定网段时,则在网段中确定与指定网段匹配的未分配IP地址,在未分配IP地址中确定目标IP地址,并将该目标IP地址分配至容器组。

在一示例中,IP地址分配管理系统可以包括数据库,在数据库中可以存储有网段的分配详情,包括网段中已分配的IP地址以及未分配的IP地址,在IP地址分配管理系统每次依照IP地址分配请求分配地址后,会同步更新数据库中的网段的分配详情。当再次接收到IP地址分配请求时,可以从数据库中获取网段的分配详情,进而确定当前未分配IP地址;当IP地址分配请求中包含网段配置信息时,则可以在当前未分配IP地址中按照网段配置信息确定与指定网段匹配的未分配IP地址

在本发明实施例中通过创建待分配至目标集群的网段;网段包括多个待分配IP地址;接收目标集群发送的IP地址分配请求,IP地址分配请求为节点组件在目标集群中任意节点下创建容器组时生成;对IP地址分配请求进行解析,确定针对容器组的网段配置信息;从网段中确定与网段配置信息匹配的目标IP地址,并将目标IP地址分配至容器组,从而,即使目标集群新增节点,也可直接为新增节点下的容器组分配IP地址;而且,目标集群中为创建的容器组依次从整个网段中分配对应的IP地址,从而网段中包含的每个IP地址均可以被分配至容器组,避免资源浪费;同时,可以依照容器组的IP地址分配请求,确定该容器组请求分配的网段配置信息,进而实现为容器组分配指定网段。

参照图3a示出了本发明一实施例提供的一种IP地址分配方法的步骤流程图,应用于IP地址分配管理系统,IP地址分配系统用于对目标集群进行IP地址管理,目标集群由一组运行容器化应用程序的节点构成,目标集群的每个节点下可创建或删除一个或多个容器组,目标集群还包括用于创建或删除容器组的节点组件,具体可以包括如下步骤:

步骤301,创建待分配至目标集群的网段;网段包括多个待分配IP地址;

步骤302,创建多个用于分配IP地址的工作线程;

在IP地址分配管理系统中,为了加快IP地址的分配速度,可以配置多个用于分配IP地址的工作线程,多个工作线程可以同时启动进行IP地址分配。

步骤303,根据多个工作线程的数量将网段划分为多个子网段;

在配置工作线程后,按照IP地址分配管理系统中的工作线程的数量对网段进行划分,得到多个子网段,每个工作线程对应一个子网段。子网段中所包含的IP地址为该工作线程管理的IP地址。

在一示例中,IP地址分配管理系统可以对网段进行均分处理,例如,当网段中存在100个待分配IP地址时,IP地址分配管理系统中创建了10个工作线程,则可以将100个待分配IP地址划分为10个子网段,每个子网段中包括10个待分配IP地址。

参照图3b,示出了本发明实施例提供的一种IP地址分配管理系统与集群的结构示意图,在图3b中,在IP地址分配管理系统中可以包括网段1、网段2两个网段,每个网段可以按照针对每个集群创建的工作线程的数量划分为多个逻辑子网,每个工作线程对应负责一个逻辑子网段中多个IP地址的分配,如网段1可以包括逻辑子网段11、逻辑子网段12等,网段2可以包括逻辑子网段21、逻辑子网段22等。

在图3b中包括两个集群,即集群1与集群2。在集群1中包括节点1-1、节点1-2以及在集群1中创建或删除容器组的节点组件1;在集群2中包括节点2-1、节点2-2以及在集群2中创建或删除容器组的节点组件2。集群1通过节点组件1与IP地址分配管理系统进行通信,以实现对集群1的IP地址进行管理;集群2通过节点组件2与IP地址分配管理系统进行通信,以实现对集群2的IP地址进行管理。

例如,当节点组件1创建容器组时,可以发送IP地址分配请求(其中,IP地址分配请求可以是http请求)到IP地址分配管理系统,IP地址分配管理系统调用预设的微服务从集群1对应的网段1中选择一个IP地址,将选择的IP地址反馈至节点组件1,以实现对容器组的IP地址分配。

在本发明一实施例中,该方法还可以包括:在检测到配置的工作线程数量发生变化时,基于变化后的工作线程数量重新划分多个子网段。

在实际应用中,IP地址分配管理系统可以根据需求配置新的工作线程或者删除已有的工作线程,从而导致IP地址分配管理系统中配置的工作线程数量发生变化,当网段范围固定(即网段中包含的IP地址不变),而工作线程数量发生变化时,每个工作线程需要负责分配的IP地址数量变化,从而可以在IP地址分配管理系统中触发重新分配子网段,在具体示例中,IP地址分配管理系统可以根据工作线程发生变化之后的数量重新划分子网段,使得每一个工作线程对应一个子网段,同时重新划分子网段也有利于对子网段的集中管理。

例如,当IP地址分配管理系统总共需要管理的网段中包含100个IP地址,原来由10个工作线程进行IP地址管理,每个工作线程管理10个IP地址构成的子网段,当增加至20个工作线程,则每个工作线程管理5个IP地址构成的子网段。

在本发明一实施例中,该方法还可以包括:在检测到网段的范围发生变化时,根据多个工作线程的数量将变化后的网段重新划分为多个子网段。

在实际应用中,网段的范围也可能发生变化(即网段中包含的IP地址发生变化),当网段范围发生变化时,或导致网段内的待管理的IP地址增加或减少,当检测到网段范围发生变化时,可以在IP地址分配管理系统中触发重新分配子网段,具体的,可以基于工作线程的数量将变化后的网段范围划分为多个子网段,使得每个工作线程对应一个子网段。

例如:当IP地址分配管理系统总共需要管理的网段中包含100个IP地址,原来由10个工作线程进行IP地址管理,每个工作线程管理10个IP地址构成的子网段,当网段范围扩宽,增加100个IP地址时,则此时变化后的网段范围内包括200个IP地址,可以重新将变化后的网段按照10个工作进程进行调整,每个工作进程负责管理20个IP地址构成的子网段。

步骤304,接收目标集群发送的IP地址分配请求,并启动多个工作线程,IP地址分配请求为节点组件在目标集群中任意节点下创建容器组时生成;每个工作线程负责一个子网段中的IP地址分配;

在目标集群中可以根据需要创建或删除节点上的容器组,针对目标集群需中的每个容器组需要对该容器组分配IP地址,以实现容器组之间的通信,从而,当目标集群创建新容器组时,可以生成IP地址分配请求,该IP地址分配请求用于请求IP地址分配管理系统为该新生成的容器组分配对应的IP地址。

节点组件可以将生成的IP地址分配请求发送至IP地址分配管理系统,IP地址分配管理系统在接收到目标集群发送的IP地址分配请求时,可以启动多个工作线程以进行IP地址分配。

通过多个工作线程共同处理IP地址分配请求,可以提高IP地址分配效率。

步骤305,从多个工作线程中确定用于处理与IP地址分配请求的目标工作线程;

在IP地址分配管理系统启动多个工作线程后,可以在多个工作线程中确定IP地址分配请求所对应的目标工作线程。

步骤306,从目标工作线程对应的目标子网段中确定目标IP地址,并通过目标工作线程将目标IP地址分配至容器组。

在确定目标工作线程后,从目标工作线程所对应的目标子网段中选择为分配的IP地址作为目标IP地址。进而通过目标工作线程将目标IP地址分配至容器组。

在本发明一实施例中,在从多个工作线程中确定用于处理IP地址分配请求的目标工作线程之后,该方法还可以包括:判断目标子网段是否存在未分配IP地址;在目标子网段不存在未分配IP地址时,暂停目标工作线程。

在实际应用中,IP地址分配管理系统在进行IP地址管理过程中,可以实时监测各子网段中的IP地址分配情况,判断目标子网段是否存在未分配IP地址,当目标子网段不存在未分配IP地址时,则暂停目标工作线程,目标工作线程不再处理其他IP地址分配请求,以避免IP地址被重复分配。

在本发明实施例中,创建待分配至目标集群的网段,创建多个用于分配IP地址的工作线程,根据多个工作线程的数量将网段划分为多个子网段,接收目标集群发送的IP地址分配请求,并启动多个工作线程,IP地址分配请求为节点组件在目标集群中任意节点下创建容器组时生成;每个工作线程负责一个子网段中的IP地址分配,从多个工作线程中确定用于处理与IP地址分配请求的目标工作线程,从目标工作线程对应的目标子网段中确定目标IP地址,并通过目标工作线程将目标IP地址分配至容器组,通过创建并启动多个工作线程处理IP地址分配请求,可以提高IP地址的分配速度。

参照图4示出了本发明一实施例提供的一种IP地址的分配方法的步骤流程图,应用于IP地址分配管理系统,IP地址分配系统用于对目标集群进行IP地址管理,目标集群由一组运行容器化应用程序的节点构成,目标集群的每个节点下可创建或删除一个或多个容器组,目标集群还包括用于创建或删除容器组的节点组件,具体可以包括如下步骤:

步骤401,创建待分配至目标集群的网段;网段包括多个待分配IP地址;

步骤402,接收目标集群发送的IP地址分配请求,IP地址分配请求为节点组件在目标集群中任意节点下创建容器组时生成;

步骤403,从网段中确定IP地址分配请求对应的目标IP地址,并将目标IP地址分配至容器组。

步骤404,接收目标集群发送的IP地址回收请求,IP地址回收请求为节点组件在目标集群中任意节点下删除容器组时生成;

在目标集群删除容器组时,可以生成IP地址回收请求,IP地址回收请求可以用于请求IP地址分配管理系统回收容器组的IP地址,目标集群可以在生成IP地址回收请求后,将IP地址回收请求发送至IP地址分配管理系统,以请求回收IP地址资源。

在一示例中,在K8s集群中,Cilium组件可以用于删除容器组,并生成IP地址回收请求。

步骤405,确定IP地址回收请求对应的待回收IP地址,并对待回收IP地址进行回收。

在IP地址分配管理系统接收目标集群发送的IP地址回收请求后,可以确定IP地址回收请求对应的待回收IP地址,进而针对待回收IP地址进行回收,从而回收完成后的IP地址可以再次被分配给其他新建的容器组。

在一示例中,针对IP地址回收操作,也可以同时启动多个工作线程对IP地址进行回收。

在本发明实施例中,创建待分配至目标集群的网段;进而接收目标集群发送的IP地址分配请求,IP地址分配请求为节点组件在目标集群中任意节点下创建容器组时生成,从网段中确定IP地址分配请求对应的目标IP地址,并将目标IP地址分配至容器组,接收目标集群发送的IP地址回收请求,IP地址回收请求为节点组件在目标集群中任意节点下删除容器组时生成,确定IP地址回收请求对应的待回收IP地址,并对待回收IP地址进行回收,从而通过IP地址分配管理系统为容器组分配或回收IP地址,实现了对目标集群IP地址的便捷管理。

需要说明的是,对于方法实施例,为了简单描述,故将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图5a,示出了本发明一实施例提供的一种目标集群的IP地址分配装置的结构示意图,应用于IP地址分配管理系统,所述IP地址分配系统用于对目标集群进行IP地址管理,所述目标集群由一组运行容器化应用程序的节点构成,所述目标集群的每个节点下可创建或删除一个或多个容器组,所述目标集群还包括用于创建或删除容器组的节点组件,具体可以包括如下模块:

网段配置模块501,用于创建待分配至目标集群的网段;网段包括多个待分配IP地址;

分配请求模块502,用于接收目标集群发送的IP地址分配请求,IP地址分配请求为所述节点组件在所述目标集群中任意节点下创建容器组时生成;

IP地址分配模块503,用于从网段中确定IP地址分配请求对应的目标IP地址,并将目标IP地址分配至容器组;其中,属于同一节点的不同容器组之间,容器组被分配的目标IP地址属于不同网段或者属于相同网段。

在本发明一实施例中,参照图5b,示出了一种本发明一实施例提供的一种目标集群的IP地址分配装置的子结构示意图,其中,IP地址分配模块503可以包括:

网段配置信息确定子模块11,用于对IP地址分配请求进行解析,确定针对容器组的网段配置信息;

目标IP地址确定子模块12,用于从网段中确定与网段配置信息匹配的目标IP地址。

在本发明一实施例中,装置还可以包括:

工作线程配置模块504,用于配置多个用于分配IP地址的工作线程;

子网段划分模块505,用于根据多个工作线程的数量将网段划分为多个子网段;

参照图5c,示出了一种本发明一实施例提供的一种目标集群的IP地址分配装置的子结构示意图,其中,IP地址分配模块503可以包括:

工作线程启动子模块21,用于启动多个工作线程,执行从网段中确定IP地址分配请求对应的目标IP地址的步骤,其中,每个工作线程负责一个子网段中的IP地址分配。

在本发明一实施例中,装置还可以包括:

第一子网段重划分模块506,用于在检测到配置的工作线程数量发生变化时,基于变化后的工作线程数量重新划分多个子网段;

第二子网段重划分模块507,用于在检测到网段的范围发生变化时,根据多个工作线程的数量将变化后的网段重新划分为多个子网段。

在本发明一实施例中,参照图5d,示出了一种本发明一实施例提供的一种目标集群的IP地址分配装置的子结构示意图,其中,IP地址分配模块503可以包括:

目标工作线程确定子模块31,用于从多个工作线程中确定用于处理与IP地址分配请求的目标工作线程;

IP地址分配子模块32,用于从目标工作线程对应的目标子网段中确定目标IP地址,并通过目标工作线程将目标IP地址分配至容器组。

在本发明一实施例中,参照图5e,示出了一种本发明一实施例提供的一种目标集群的IP地址分配装置的子结构示意图,其中,IP地址分配模块503还包括:

未分配IP地址判断子模块41,用于判断目标子网段是否存在未分配IP地址;

目标工作线程暂停子模块42,用于在目标子网段不存在未分配IP地址时,暂停目标工作线程。

在本发明一实施例中,装置还可以包括:

IP地址回收请求接收模块508,用于接收目标集群发送的IP地址回收请求,IP地址回收请求为节点组件在所述目标集群中任意节点下删除容器组时生成;

IP地址回收模块509,用于确定IP地址回收请求对应的待回收IP地址,并对待回收IP地址进行回收。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:

创建待分配至目标集群的网段;网段包括多个待分配IP地址;

接收目标集群发送的IP地址分配请求,IP地址分配请求为节点组件在所述目标集群中任意节点下创建容器组时生成;

从网段中确定IP地址分配请求对应的目标IP地址,并将目标IP地址分配至容器组;其中,属于同一节点的不同容器组之间,容器组被分配的目标IP地址属于不同网段或者属于相同网段。

上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述终端与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的IP地址的分配方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一的IP地址的分配方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

相关技术
  • 一种自动分配任务的方法、装置、电子设备以及存储介质
  • 互联网协议IP地址获取方法、装置、存储介质及电子设备
  • 处方审核分配方法、装置、电子设备及存储介质
  • 计算资源分配方法、装置、电子设备、存储介质
  • 房屋分配方法、装置、计算机可读存储介质及电子设备
  • IP地址分配方法、装置、存储介质以及电子设备
  • IP地址分配方法、装置、电子设备及存储介质
技术分类

06120116067672