CN111491040A - 一种ip分配方法以及ip分配装置 - Google Patents

一种ip分配方法以及ip分配装置 Download PDF

Info

Publication number
CN111491040A
CN111491040A CN202010274918.0A CN202010274918A CN111491040A CN 111491040 A CN111491040 A CN 111491040A CN 202010274918 A CN202010274918 A CN 202010274918A CN 111491040 A CN111491040 A CN 111491040A
Authority
CN
China
Prior art keywords
container
instruction
target
target host
ips
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
Application number
CN202010274918.0A
Other languages
English (en)
Other versions
CN111491040B (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.)
Beijing Urban Network Neighbor Information Technology Co Ltd
Original Assignee
Beijing Urban Network Neighbor Information 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 Beijing Urban Network Neighbor Information Technology Co Ltd filed Critical Beijing Urban Network Neighbor Information Technology Co Ltd
Priority to CN202010274918.0A priority Critical patent/CN111491040B/zh
Publication of CN111491040A publication Critical patent/CN111491040A/zh
Application granted granted Critical
Publication of CN111491040B publication Critical patent/CN111491040B/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种IP分配方法以及IP分配装置,该方法包括:接收容器创建指令,其中,容器创建指令包含所需创建的容器的数量M;根据容器创建指令,从第一IP池中选择N个IP,获得包含N个IP的第二IP池,并从第一IP池中删除N个IP,其中,N>M;向M个目标宿主机中的每个目标宿主机发送第一通知指令,第一通知指令用于指示M个目标宿主机中的每个目标宿主机内的容器编排器,从第二IP池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的第一IP;将M个目标宿主机从第二IP池中所申请的M个第一IP标记为已分配IP。这样,不会在容器内部进行改动,避免代码侵入,使容器更稳定。

Description

一种IP分配方法以及IP分配装置
技术领域
本申请涉及通信技术领域,尤其涉及一种IP分配方法以及IP分配装置。
背景技术
一个机架可以包含多个宿主机,每个宿主机可以包含多个容器。在某个宿主机内的某个容器发生滚动升级时,该容器可能会迁移至另一个机架所包含的一个宿主机内。
由于每个宿主机都有自己对应的可用IP段,不同宿主机的可用IP段可能有不同。因此当容器发生滚动升级时,容器升级之前所使用的IP可能会因为不在新的宿主机的可用IP段内,导致无法继续使用。
现有技术中,会通过容器内部的IP管理模块对容器的网络进行初始化,同时将容器中和IP分配相关的信息传入IP管理模块。在容器发生迁移之后,会重新为容器分配IP。但此种方式对容器内部改动较大,不利于容器的稳定。
发明内容
本申请提供了一种IP分配方法以及IP分配装置,以解决现有技术中,通过容器内部的IP管理模块对容器的网络进行初始化,同时将容器中和IP分配相关的信息传入IP管理模块。在容器发生迁移之后,会重新为容器分配IP。但此种方式对容器内部改动较大,不利于容器的稳定的问题。
第一方面,本发明提供了一种IP分配方法,包括:
接收容器创建指令,其中,所述容器创建指令包含所需创建的容器的数量M;
根据所述容器创建指令,从第一IP池中选择N个IP,获得包含所述N个IP的第二IP池,并从所述第一IP池中删除所述N个IP,其中,N>M;
向M个目标宿主机中的每个目标宿主机发送第一通知指令,所述第一通知指令用于指示所述M个目标宿主机中的每个目标宿主机内的容器编排器,从所述第二IP池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一IP;
将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP。
进一步的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
向所述M个目标宿主机中的第一目标宿主机发送重启指令;
接收所述第一目标宿主机发送的第一归还IP指令,其中,所述第一归还IP指令为所述第一目标宿主机中的容器编排器根据所述重启指令,关闭所述第一目标宿主机中的容器之后所生成的,所述第一归还IP指令包含第一归还IP;
根据所述第一归还IP指令,将所述第一归还IP标记为未分配IP;
向除所述M个目标宿主机之外的第二宿主机发送第二通知指令,所述第二通知指令用于指示所述第二宿主机内的容器编排器,从所述第二IP池中申请所述第一归还IP,并将所述第二宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一归还IP。
进一步的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
接收扩容指令,其中,所述扩容指令内包含所需增加容器的数量P;
根据所述扩容指令,向P个第三宿主机中的每个第三宿主机发送第三通知指令,其中,所述P个第三宿主机为与所述M个目标宿主机不同的宿主机,所述第三通知指令用于指示所述P个第三宿主机中的每个第三宿主机内的容器编排器,从所述第二IP池中申请一个第三IP,并将该第三宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第三IP。
进一步的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
接收缩容指令,其中,所述缩容指令内包含所需删减的容器的数量S;
根据所述缩容指令,向S个所述目标宿主机发送第四通知指令;
接收所述S个所述目标宿主机中的每个目标宿主机发送的第二归还IP指令,其中,所述第二归还IP指令为所述S个所述目标宿主机中的每个目标宿主机中的容器编排器根据所述第四通知指令,关闭该目标宿主机中的容器之后所生成的,所述第二归还IP指令包含第二归还IP;
根据所述第二归还IP指令,将所述第二归还IP标记为未分配IP。
进一步的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
周期性遍历所述M个第一IP对应的M个容器的状态是否健康;
在确定所述M个第一IP中的第一目标IP对应的容器的状态不健康的情况下,将所述第一目标IP标记为未分配IP。
进一步的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
监听所述M个目标宿主机中的每个目标宿主机内的容器是否被销毁;
在监听到所述M个目标宿主机中的第二目标宿主机内的容器被销毁的情况下,判断所述第二目标宿主机内的容器所占用的第一IP是否已被回收;
在判断出所述第二目标宿主机内的容器所占用的第一IP未被回收的情况下,将所述第二目标宿主机内的容器所占用的第一IP标记为未分配IP。
第二方面,本发明还提供了一种IP分配装置,包括:
第一接收模块,用于接收容器创建指令,其中,所述容器创建指令包含所需创建的容器的数量M;
选择模块,用于根据所述容器创建指令,从第一IP池中选择N个IP,获得包含所述N个IP的第二IP池,并从所述第一IP池中删除所述N个IP,其中,N>M;
第一发送模块,用于向M个目标宿主机中的每个目标宿主机发送第一通知指令,所述第一通知指令用于指示所述M个目标宿主机中的每个目标宿主机内的容器编排器,从所述第二IP池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一IP;
第一标记模块,用于将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP。
进一步的,所述IP分配装置还包括:
第二发送模块,用于向所述M个目标宿主机中的第一目标宿主机发送重启指令;
第二接收模块,用于接收所述第一目标宿主机发送的第一归还IP指令,其中,所述第一归还IP指令为所述第一目标宿主机中的容器编排器根据所述重启指令,关闭所述第一目标宿主机中的容器之后所生成的,所述第一归还IP指令包含第一归还IP;
第二标记模块,用于根据所述第一归还IP指令,将所述第一归还IP标记为未分配IP;
第三发送模块,用于向除所述M个目标宿主机之外的第二宿主机发送第二通知指令,所述第二通知指令用于指示所述第二宿主机内的容器编排器,从所述第二IP池中申请所述第一归还IP,并将所述第二宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一归还IP。
进一步的,所述IP分配装置还包括:
第三接收模块,用于接收扩容指令,其中,所述扩容指令内包含所需增加容器的数量P;
第四发送模块,用于根据所述扩容指令,向P个第三宿主机中的每个第三宿主机发送第三通知指令,其中,所述P个第三宿主机为与所述M个目标宿主机不同的宿主机,所述第三通知指令用于指示所述P个第三宿主机中的每个第三宿主机内的容器编排器,从所述第二IP池中申请一个第三IP,并将该第三宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第三IP。
进一步的,所述IP分配装置还包括:
第四接收模块,用于接收缩容指令,其中,所述缩容指令内包含所需删减的容器的数量S;
第五发送模块,用于根据所述缩容指令,向S个所述目标宿主机发送第四通知指令;
第五接收模块,用于接收所述S个所述目标宿主机中的每个目标宿主机发送的第二归还IP指令,其中,所述第二归还IP指令为所述S个所述目标宿主机中的每个目标宿主机中的容器编排器根据所述第四通知指令,关闭该目标宿主机中的容器之后所生成的,所述第二归还IP指令包含第二归还IP;
第三标记模块,用于根据所述第二归还IP指令,将所述第二归还IP标记为未分配IP。
进一步的,所述IP分配装置还包括:
遍历模块,用于周期性遍历所述M个第一IP对应的M个容器的状态是否健康;
第四标记模块,用于在确定所述M个第一IP中的第一目标IP对应的容器的状态不健康的情况下,将所述第一目标IP标记为未分配IP。
进一步的,所述IP分配装置还包括:
监听模块,用于监听所述M个目标宿主机中的每个目标宿主机内的容器是否被销毁;
判断模块,用于在监听到所述M个目标宿主机中的第二目标宿主机内的容器被销毁的情况下,判断所述第二目标宿主机内的容器所占用的第一IP是否已被回收;
第五标记模块,用于在判断出所述第二目标宿主机内的容器所占用的第一IP未被回收的情况下,将所述第二目标宿主机内的容器所占用的第一IP标记为未分配IP。
第三方面,本发明还提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面所述的IP分配方法。
第四方面,本发明还提供了一种可读存储介质,包括:所述可读存储介质中存储有计算机程序,当IP分配装置的至少一个处理器执行所述计算机程序时,IP分配装置执行第一方面所述的IP分配方法。
由以上技术方案可知,本发明实施例提供的一种IP分配方法以及IP分配装置,接收容器创建指令,其中,所述容器创建指令包含所需创建的容器的数量M;根据所述容器创建指令,从第一IP池中选择N个IP,获得包含所述N个IP的第二IP池,并从所述第一IP池中删除所述N个IP,其中,N>M;向M个目标宿主机中的每个目标宿主机发送第一通知指令,所述第一通知指令用于指示所述M个目标宿主机中的每个目标宿主机内的容器编排器,从所述第二IP池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一IP;将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP。这样,可以通过每个宿主机内的容器编排器,从第二IP池中申请一个第一IP,并将该宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的第一IP。不会在容器内部进行改动,避免代码侵入,使容器更稳定。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种IP分配方法的流程图;
图2为本发明提供的一种IP分配装置的结构图;
图3为本发明提供的另一种IP分配装置的结构图;
图4为本发明提供的另一种IP分配装置的结构图;
图5为本发明提供的另一种IP分配装置的结构图;
图6为本发明提供的另一种IP分配装置的结构图;
图7为本发明提供的另一种IP分配装置的结构图;
图8为本发明提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
参见图1,图1是本发明提供的一种IP分配方法的流程图。如图1所示,包括以下步骤:
步骤101、接收容器创建指令,其中,所述容器创建指令包含所需创建的容器的数量M。
在步骤101中,主节点可以接收容器创建指令。需要说明的是,可以先注入一批IP到资源池,即可以先注入一批IP到第一IP池,同时可以将这批IP记录到主节点的数据库中。业务负责人想要创建一个业务集群,且该业务集群包含多个容器时,可以通过管理平台向主节点发送容器创建指令,该容器创建指令可以包含所需创建的容器的数量M。
步骤102、根据所述容器创建指令,从第一IP池中选择N个IP,获得包含所述N个IP的第二IP池,并从所述第一IP池中删除所述N个IP,其中,N>M。
在步骤102中,主节点可以根据接收到的容器创建指令,从第一IP池中选择N个IP,获得包含N个IP的第二IP池。即可以从资源池中选择N个IP,获得包含N个IP的预分配池。还可以从第一IP池中删除N个IP,即可以从资源池中删除N个IP。其中,N>M。
步骤103、向M个目标宿主机中的每个目标宿主机发送第一通知指令,所述第一通知指令用于指示所述M个目标宿主机中的每个目标宿主机内的容器编排器,从所述第二IP池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一IP。
在步骤103中,主节点可以向M个目标宿主机中的每个目标宿主机发送第一通知指令,该第一通知指令用于指示M个目标宿主机中的每个目标宿主机内的容器编排器,从第二IP池中申请一个第一IP,即从预分配池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的第一IP。这样,可以通过每个宿主机内的容器编排器,从第二IP池中申请一个第一IP,并将该宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的第一IP。不会在容器内部进行改动,避免代码侵入,使容器更稳定。
步骤104、将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP。
在步骤104中,主节点还可以将M个目标宿主机从第二IP池中所申请的M个第一IP标记为已分配IP。需要说明的是,现有技术中,会通过容器内部的IP管理模块对容器的网络进行初始化,同时将容器中和IP分配相关的信息传入IP管理模块。在容器发生迁移之后,会重新为容器分配IP。但此种方式对容器内部改动较大,不利于容器的稳定。
而在本申请中,可以通过每个宿主机内的容器编排器,从第二IP池中申请一个第一IP,并将该宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的第一IP。不会在容器内部进行改动,避免代码侵入,使容器更稳定。
可选的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
向所述M个目标宿主机中的第一目标宿主机发送重启指令;
接收所述第一目标宿主机发送的第一归还IP指令,其中,所述第一归还IP指令为所述第一目标宿主机中的容器编排器根据所述重启指令,关闭所述第一目标宿主机中的容器之后所生成的,所述第一归还IP指令包含第一归还IP;
根据所述第一归还IP指令,将所述第一归还IP标记为未分配IP;
向除所述M个目标宿主机之外的第二宿主机发送第二通知指令,所述第二通知指令用于指示所述第二宿主机内的容器编排器,从所述第二IP池中申请所述第一归还IP,并将所述第二宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一归还IP。
主节点还可以向M个目标宿主机中的第一目标宿主机发送重启指令。接下来,主节点可以接收第一目标宿主机发送的第一归还IP指令。其中,第一归还IP指令为第一目标宿主机中的容器编排器根据上述重启指令,关闭第一目标宿主机中的容器之后所生成的。第一归还IP指令包含第一归还IP。该第一归还IP即为第一目标宿主机中的容器编排器之前从第二IP池中所申请的一个第一IP。然后,主节点可以根据第一归还IP指令,将第一归还IP标记为未分配IP。接下来,主节点可以向除M个目标宿主机之外的第二宿主机发送第二通知指令,该第二通知指令用于指示第二宿主机内的容器编排器,从第二IP池中申请第一归还IP,并将第二宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的第一归还IP。这样,容器重启之后,还可以使用重启之前所申请的IP,达到容器重启但所使用的IP固定不变的效果。
可选的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
接收扩容指令,其中,所述扩容指令内包含所需增加容器的数量P;
根据所述扩容指令,向P个第三宿主机中的每个第三宿主机发送第三通知指令,其中,所述P个第三宿主机为与所述M个目标宿主机不同的宿主机,所述第三通知指令用于指示所述P个第三宿主机中的每个第三宿主机内的容器编排器,从所述第二IP池中申请一个第三IP,并将该第三宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第三IP。
需要说明的是,业务负责人想要新增容器时,可以通过管理平台向主节点发送扩容指令,主节点可以接收该扩容指令。该扩容指令内可以包含所需增加容器的数量P。进而主节点可以根据接收到的扩容指令,向P个第三宿主机中的每个第三宿主机发送第三通知指令。其中,P个第三宿主机为与M个目标宿主机不同的宿主机。第三通知指令用于指示P个第三宿主机中的每个第三宿主机内的容器编排器,从第二IP池中申请一个第三IP,即从预分配池中申请一个第三IP,并将该第三宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的第三IP。
可选的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
接收缩容指令,其中,所述缩容指令内包含所需删减的容器的数量S;
根据所述缩容指令,向S个所述目标宿主机发送第四通知指令;
接收所述S个所述目标宿主机中的每个目标宿主机发送的第二归还IP指令,其中,所述第二归还IP指令为所述S个所述目标宿主机中的每个目标宿主机中的容器编排器根据所述第四通知指令,关闭该目标宿主机中的容器之后所生成的,所述第二归还IP指令包含第二归还IP;
根据所述第二归还IP指令,将所述第二归还IP标记为未分配IP。
需要说明的是,业务负责人想要删减容器时,可以通过管理平台向主节点发送缩容指令,主节点可以接收该缩容指令。该缩容指令内可以包含所需删减的容器的数量S。进而主节点可以根据接收到的缩容指令,向S个目标宿主机发送第四通知指令。接下来,主节点可以接收S个目标宿主机中的每个目标宿主机发送的第二归还IP指令。其中,该第二归还IP指令为S个目标宿主机中的每个目标宿主机中的容器编排器根据第四通知指令,关闭该目标宿主机中的容器之后所生成的,第二归还IP指令包含第二归还IP。该第二归还IP即为该目标宿主机中的容器编排器之前从第二IP池中所申请的一个第一IP。然后,主节点可以根据第二归还IP指令,将第二归还IP标记为未分配IP。这样,业务负责人想要删减容器时,可以将被关闭的容器所占用的IP标记为未分配IP。保证容器被关闭之后,被关闭的容器所占用的IP可以被释放,节省了资源。
可选的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
周期性遍历所述M个第一IP对应的M个容器的状态是否健康;
在确定所述M个第一IP中的第一目标IP对应的容器的状态不健康的情况下,将所述第一目标IP标记为未分配IP。
主节点中的IP监控模块还可以周期性遍历M个第一IP对应的M个容器的状态是否健康。在确定M个第一IP中的第一目标IP对应的容器的状态不健康的情况下,可以将第一目标IP标记为未分配IP。这样,IP监控模块监测到某个IP对应的容器的状态不健康的情况下,可以直接将该IP标记为未分配IP。保证状态不健康的容器所占用的IP可以被及时释放,节省了资源。
可选的,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
监听所述M个目标宿主机中的每个目标宿主机内的容器是否被销毁;
在监听到所述M个目标宿主机中的第二目标宿主机内的容器被销毁的情况下,判断所述第二目标宿主机内的容器所占用的第一IP是否已被回收;
在判断出所述第二目标宿主机内的容器所占用的第一IP未被回收的情况下,将所述第二目标宿主机内的容器所占用的第一IP标记为未分配IP。
需要说明的是,主节点中的IP监控模块还可以监听M个目标宿主机中的每个目标宿主机内的容器是否被销毁。在IP监控模块监听到M个目标宿主机中的第二目标宿主机内的容器被销毁的情况下,可以判断第二目标宿主机内的容器所占用的第一IP是否已被回收。在IP监控模块判断出第二目标宿主机内的容器所占用的第一IP未被回收的情况下,可以将第二目标宿主机内的容器所占用的第一IP标记为未分配IP。这样,IP监控模块可以监听容器销毁事件,并及时验证被销毁的容器所占用的IP是否被回收。如果被销毁的容器所占用的IP未被回收,则可以自动回收该IP。保证被销毁的容器所占用的IP可以被及时释放,节省了资源。
由以上技术方案可知,本发明实施例提供的一种IP分配方法,接收容器创建指令,其中,所述容器创建指令包含所需创建的容器的数量M;根据所述容器创建指令,从第一IP池中选择N个IP,获得包含所述N个IP的第二IP池,并从所述第一IP池中删除所述N个IP,其中,N>M;向M个目标宿主机中的每个目标宿主机发送第一通知指令,所述第一通知指令用于指示所述M个目标宿主机中的每个目标宿主机内的容器编排器,从所述第二IP池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一IP;将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP。这样,可以通过每个宿主机内的容器编排器,从第二IP池中申请一个第一IP,并将该宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的第一IP。不会在容器内部进行改动,避免代码侵入,使容器更稳定。
参见图2,图2是本发明提供的一种IP分配装置的结构图。如图2所示,IP分配装置200包括第一接收模块201、选择模块202、第一发送模块203和第一标记模块204,其中:
第一接收模块201,用于接收容器创建指令,其中,所述容器创建指令包含所需创建的容器的数量M;
选择模块202,用于根据所述容器创建指令,从第一IP池中选择N个IP,获得包含所述N个IP的第二IP池,并从所述第一IP池中删除所述N个IP,其中,N>M;
第一发送模块203,用于向M个目标宿主机中的每个目标宿主机发送第一通知指令,所述第一通知指令用于指示所述M个目标宿主机中的每个目标宿主机内的容器编排器,从所述第二IP池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一IP;
第一标记模块204,用于将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP。
可选的,如图3所示,所述IP分配装置还包括:
第二发送模块205,用于向所述M个目标宿主机中的第一目标宿主机发送重启指令;
第二接收模块206,用于接收所述第一目标宿主机发送的第一归还IP指令,其中,所述第一归还IP指令为所述第一目标宿主机中的容器编排器根据所述重启指令,关闭所述第一目标宿主机中的容器之后所生成的,所述第一归还IP指令包含第一归还IP;
第二标记模块207,用于根据所述第一归还IP指令,将所述第一归还IP标记为未分配IP;
第三发送模块208,用于向除所述M个目标宿主机之外的第二宿主机发送第二通知指令,所述第二通知指令用于指示所述第二宿主机内的容器编排器,从所述第二IP池中申请所述第一归还IP,并将所述第二宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一归还IP。
可选的,如图4所示,所述IP分配装置还包括:
第三接收模块209,用于接收扩容指令,其中,所述扩容指令内包含所需增加容器的数量P;
第四发送模块2010,用于根据所述扩容指令,向P个第三宿主机中的每个第三宿主机发送第三通知指令,其中,所述P个第三宿主机为与所述M个目标宿主机不同的宿主机,所述第三通知指令用于指示所述P个第三宿主机中的每个第三宿主机内的容器编排器,从所述第二IP池中申请一个第三IP,并将该第三宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第三IP。
可选的,如图5所示,所述IP分配装置还包括:
第四接收模块2011,用于接收缩容指令,其中,所述缩容指令内包含所需删减的容器的数量S;
第五发送模块2012,用于根据所述缩容指令,向S个所述目标宿主机发送第四通知指令;
第五接收模块2013,用于接收所述S个所述目标宿主机中的每个目标宿主机发送的第二归还IP指令,其中,所述第二归还IP指令为所述S个所述目标宿主机中的每个目标宿主机中的容器编排器根据所述第四通知指令,关闭该目标宿主机中的容器之后所生成的,所述第二归还IP指令包含第二归还IP;
第三标记模块2014,用于根据所述第二归还IP指令,将所述第二归还IP标记为未分配IP。
可选的,如图6所示,所述IP分配装置还包括:
遍历模块2015,用于周期性遍历所述M个第一IP对应的M个容器的状态是否健康;
第四标记模块2016,用于在确定所述M个第一IP中的第一目标IP对应的容器的状态不健康的情况下,将所述第一目标IP标记为未分配IP。
可选的,如图7所示,所述IP分配装置还包括:
监听模块2017,用于监听所述M个目标宿主机中的每个目标宿主机内的容器是否被销毁;
判断模块2018,用于在监听到所述M个目标宿主机中的第二目标宿主机内的容器被销毁的情况下,判断所述第二目标宿主机内的容器所占用的第一IP是否已被回收;
第五标记模块2019,用于在判断出所述第二目标宿主机内的容器所占用的第一IP未被回收的情况下,将所述第二目标宿主机内的容器所占用的第一IP标记为未分配IP。
IP分配装置200能够实现图1的方法实施例中IP分配装置实现的各个过程,为避免重复,这里不再赘述。且IP分配装置200可以实现通过每个宿主机内的容器编排器,从第二IP池中申请一个第一IP,并将该宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的第一IP。不会在容器内部进行改动,避免代码侵入,使容器更稳定。
图8为本发明实施例提供的电子设备的硬件结构示意图。如图8所示,该电子设备,包括:
存储器801,用于存储程序指令;
处理器802,用于调用并执行所述存储器中的程序指令,以实现上述实施例中所述IP分配方法。具体可以参见前述实施例中的相关描述。
本实施例中,处理器802和存储器801可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
本发明实施例还提供了一种可读存储介质,包括:所述可读存储介质中存储有计算机程序,当IP分配装置的至少一个处理器执行所述计算机程序时,IP分配装置执行上述实施例中所述的IP分配方法。
所述的可读存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于IP分配装置、电子设备及可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。

Claims (14)

1.一种IP分配方法,其特征在于,包括:
接收容器创建指令,其中,所述容器创建指令包含所需创建的容器的数量M;
根据所述容器创建指令,从第一IP池中选择N个IP,获得包含所述N个IP的第二IP池,并从所述第一IP池中删除所述N个IP,其中,N>M;
向M个目标宿主机中的每个目标宿主机发送第一通知指令,所述第一通知指令用于指示所述M个目标宿主机中的每个目标宿主机内的容器编排器,从所述第二IP池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一IP;
将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP。
2.如权利要求1所述的方法,其特征在于,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
向所述M个目标宿主机中的第一目标宿主机发送重启指令;
接收所述第一目标宿主机发送的第一归还IP指令,其中,所述第一归还IP指令为所述第一目标宿主机中的容器编排器根据所述重启指令,关闭所述第一目标宿主机中的容器之后所生成的,所述第一归还IP指令包含第一归还IP;
根据所述第一归还IP指令,将所述第一归还IP标记为未分配IP;
向除所述M个目标宿主机之外的第二宿主机发送第二通知指令,所述第二通知指令用于指示所述第二宿主机内的容器编排器,从所述第二IP池中申请所述第一归还IP,并将所述第二宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一归还IP。
3.如权利要求1所述的方法,其特征在于,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
接收扩容指令,其中,所述扩容指令内包含所需增加容器的数量P;
根据所述扩容指令,向P个第三宿主机中的每个第三宿主机发送第三通知指令,其中,所述P个第三宿主机为与所述M个目标宿主机不同的宿主机,所述第三通知指令用于指示所述P个第三宿主机中的每个第三宿主机内的容器编排器,从所述第二IP池中申请一个第三IP,并将该第三宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第三IP。
4.如权利要求1所述的方法,其特征在于,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
接收缩容指令,其中,所述缩容指令内包含所需删减的容器的数量S;
根据所述缩容指令,向S个所述目标宿主机发送第四通知指令;
接收所述S个所述目标宿主机中的每个目标宿主机发送的第二归还IP指令,其中,所述第二归还IP指令为所述S个所述目标宿主机中的每个目标宿主机中的容器编排器根据所述第四通知指令,关闭该目标宿主机中的容器之后所生成的,所述第二归还IP指令包含第二归还IP;
根据所述第二归还IP指令,将所述第二归还IP标记为未分配IP。
5.如权利要求1所述的方法,其特征在于,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
周期性遍历所述M个第一IP对应的M个容器的状态是否健康;
在确定所述M个第一IP中的第一目标IP对应的容器的状态不健康的情况下,将所述第一目标IP标记为未分配IP。
6.如权利要求1所述的方法,其特征在于,在所述将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP的步骤之后,所述方法还包括:
监听所述M个目标宿主机中的每个目标宿主机内的容器是否被销毁;
在监听到所述M个目标宿主机中的第二目标宿主机内的容器被销毁的情况下,判断所述第二目标宿主机内的容器所占用的第一IP是否已被回收;
在判断出所述第二目标宿主机内的容器所占用的第一IP未被回收的情况下,将所述第二目标宿主机内的容器所占用的第一IP标记为未分配IP。
7.一种IP分配装置,其特征在于,包括:
第一接收模块,用于接收容器创建指令,其中,所述容器创建指令包含所需创建的容器的数量M;
选择模块,用于根据所述容器创建指令,从第一IP池中选择N个IP,获得包含所述N个IP的第二IP池,并从所述第一IP池中删除所述N个IP,其中,N>M;
第一发送模块,用于向M个目标宿主机中的每个目标宿主机发送第一通知指令,所述第一通知指令用于指示所述M个目标宿主机中的每个目标宿主机内的容器编排器,从所述第二IP池中申请一个第一IP,并将该目标宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一IP;
第一标记模块,用于将所述M个目标宿主机从所述第二IP池中所申请的M个第一IP标记为已分配IP。
8.如权利要求7所述的IP分配装置,其特征在于,所述IP分配装置还包括:
第二发送模块,用于向所述M个目标宿主机中的第一目标宿主机发送重启指令;
第二接收模块,用于接收所述第一目标宿主机发送的第一归还IP指令,其中,所述第一归还IP指令为所述第一目标宿主机中的容器编排器根据所述重启指令,关闭所述第一目标宿主机中的容器之后所生成的,所述第一归还IP指令包含第一归还IP;
第二标记模块,用于根据所述第一归还IP指令,将所述第一归还IP标记为未分配IP;
第三发送模块,用于向除所述M个目标宿主机之外的第二宿主机发送第二通知指令,所述第二通知指令用于指示所述第二宿主机内的容器编排器,从所述第二IP池中申请所述第一归还IP,并将所述第二宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第一归还IP。
9.如权利要求7所述的IP分配装置,其特征在于,所述IP分配装置还包括:
第三接收模块,用于接收扩容指令,其中,所述扩容指令内包含所需增加容器的数量P;
第四发送模块,用于根据所述扩容指令,向P个第三宿主机中的每个第三宿主机发送第三通知指令,其中,所述P个第三宿主机为与所述M个目标宿主机不同的宿主机,所述第三通知指令用于指示所述P个第三宿主机中的每个第三宿主机内的容器编排器,从所述第二IP池中申请一个第三IP,并将该第三宿主机的容器的网络命名空间内的虚拟网卡的IP设置为所申请的所述第三IP。
10.如权利要求7所述的IP分配装置,其特征在于,所述IP分配装置还包括:
第四接收模块,用于接收缩容指令,其中,所述缩容指令内包含所需删减的容器的数量S;
第五发送模块,用于根据所述缩容指令,向S个所述目标宿主机发送第四通知指令;
第五接收模块,用于接收所述S个所述目标宿主机中的每个目标宿主机发送的第二归还IP指令,其中,所述第二归还IP指令为所述S个所述目标宿主机中的每个目标宿主机中的容器编排器根据所述第四通知指令,关闭该目标宿主机中的容器之后所生成的,所述第二归还IP指令包含第二归还IP;
第三标记模块,用于根据所述第二归还IP指令,将所述第二归还IP标记为未分配IP。
11.如权利要求7所述的IP分配装置,其特征在于,所述IP分配装置还包括:
遍历模块,用于周期性遍历所述M个第一IP对应的M个容器的状态是否健康;
第四标记模块,用于在确定所述M个第一IP中的第一目标IP对应的容器的状态不健康的情况下,将所述第一目标IP标记为未分配IP。
12.如权利要求7所述的IP分配装置,其特征在于,所述IP分配装置还包括:
监听模块,用于监听所述M个目标宿主机中的每个目标宿主机内的容器是否被销毁;
判断模块,用于在监听到所述M个目标宿主机中的第二目标宿主机内的容器被销毁的情况下,判断所述第二目标宿主机内的容器所占用的第一IP是否已被回收;
第五标记模块,用于在判断出所述第二目标宿主机内的容器所占用的第一IP未被回收的情况下,将所述第二目标宿主机内的容器所占用的第一IP标记为未分配IP。
13.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1~6任一项所述的IP分配方法。
14.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当IP分配装置的至少一个处理器执行所述计算机程序时,IP分配装置执行权利要求1~6任一项所述的IP分配方法。
CN202010274918.0A 2020-04-09 2020-04-09 一种ip分配方法以及ip分配装置 Active CN111491040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010274918.0A CN111491040B (zh) 2020-04-09 2020-04-09 一种ip分配方法以及ip分配装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010274918.0A CN111491040B (zh) 2020-04-09 2020-04-09 一种ip分配方法以及ip分配装置

Publications (2)

Publication Number Publication Date
CN111491040A true CN111491040A (zh) 2020-08-04
CN111491040B CN111491040B (zh) 2023-03-24

Family

ID=71812636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010274918.0A Active CN111491040B (zh) 2020-04-09 2020-04-09 一种ip分配方法以及ip分配装置

Country Status (1)

Country Link
CN (1) CN111491040B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259503A (zh) * 2021-06-24 2021-08-13 浩鲸云计算科技股份有限公司 基于Infiniband实现不同容器之间的跨网络通信方法和系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080101353A1 (en) * 2006-10-26 2008-05-01 Streijl Robert C Automated IP pool management
CN105955805A (zh) * 2015-12-28 2016-09-21 中国银联股份有限公司 一种应用容器迁移的方法及装置
CN106506314A (zh) * 2016-09-30 2017-03-15 北京赢点科技有限公司 基于docker的网络高可用方法及装置
CN106844000A (zh) * 2016-12-21 2017-06-13 北京大学 一种多用户环境下利用浏览器访问Linux容器集群的方法和装置
CN107580083A (zh) * 2017-09-20 2018-01-12 北京京东尚科信息技术有限公司 一种容器ip地址分配的方法和系统
CN107666525A (zh) * 2017-09-08 2018-02-06 北京京东尚科信息技术有限公司 集群容器ip分配的方法和装置
CN108829384A (zh) * 2018-06-13 2018-11-16 平安科技(深圳)有限公司 容器的管理方法、装置、计算机设备及存储介质
CN110275776A (zh) * 2019-05-17 2019-09-24 平安科技(深圳)有限公司 容器应用的缩容方法、装置、计算机设备及存储介质
CN110289982A (zh) * 2019-05-17 2019-09-27 平安科技(深圳)有限公司 容器应用的扩容方法、装置、计算机设备及存储介质
CN110750332A (zh) * 2019-10-23 2020-02-04 广西梯度科技有限公司 一种在Kubernetes中Pod设置静态IP的方法
US20200076685A1 (en) * 2018-08-30 2020-03-05 Juniper Networks, Inc. Multiple networks for virtual execution elements

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080101353A1 (en) * 2006-10-26 2008-05-01 Streijl Robert C Automated IP pool management
CN105955805A (zh) * 2015-12-28 2016-09-21 中国银联股份有限公司 一种应用容器迁移的方法及装置
CN106506314A (zh) * 2016-09-30 2017-03-15 北京赢点科技有限公司 基于docker的网络高可用方法及装置
CN106844000A (zh) * 2016-12-21 2017-06-13 北京大学 一种多用户环境下利用浏览器访问Linux容器集群的方法和装置
CN107666525A (zh) * 2017-09-08 2018-02-06 北京京东尚科信息技术有限公司 集群容器ip分配的方法和装置
CN107580083A (zh) * 2017-09-20 2018-01-12 北京京东尚科信息技术有限公司 一种容器ip地址分配的方法和系统
CN108829384A (zh) * 2018-06-13 2018-11-16 平安科技(深圳)有限公司 容器的管理方法、装置、计算机设备及存储介质
US20200076685A1 (en) * 2018-08-30 2020-03-05 Juniper Networks, Inc. Multiple networks for virtual execution elements
CN110275776A (zh) * 2019-05-17 2019-09-24 平安科技(深圳)有限公司 容器应用的缩容方法、装置、计算机设备及存储介质
CN110289982A (zh) * 2019-05-17 2019-09-27 平安科技(深圳)有限公司 容器应用的扩容方法、装置、计算机设备及存储介质
CN110750332A (zh) * 2019-10-23 2020-02-04 广西梯度科技有限公司 一种在Kubernetes中Pod设置静态IP的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259503A (zh) * 2021-06-24 2021-08-13 浩鲸云计算科技股份有限公司 基于Infiniband实现不同容器之间的跨网络通信方法和系统

Also Published As

Publication number Publication date
CN111491040B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
CN113296792B (zh) 存储方法、装置、设备、存储介质和系统
CN111897558A (zh) 容器集群管理系统Kubernetes升级方法和装置
WO2017050064A1 (zh) 共享内存数据库的内存管理方法及装置
CN115756955A (zh) 一种数据备份、数据恢复的方法、装置及计算机设备
CN111491040B (zh) 一种ip分配方法以及ip分配装置
CN112650692A (zh) 堆内存分配方法、装置及存储介质
EP4164183A1 (en) Default gateway management method, gateway manager, server, and storage medium
US20220206836A1 (en) Method and Apparatus for Processing Virtual Machine Migration, Method and Apparatus for Generating Virtual Machine Migration Strategy, Device and Storage Medium
CN111198756A (zh) 一种kubernetes集群的应用调度方法及装置
CN115174529B (zh) 一种网络处理方法、装置、电子设备及存储介质
CN111858020A (zh) 用户资源限制方法、装置及计算机存储介质
CN114756380A (zh) 云服务器部署方法、装置、电子设备及存储介质
CN114116230A (zh) 一种资源管理方法、装置、设备、介质及产品
CN115878336A (zh) 锁操作中的信息处理方法、装置及计算设备
CN113467723A (zh) 一种数据存储方法、装置、设备及介质
CN110019031B (zh) 一种文件创建方法及文件管理装置
CN113760446A (zh) 资源调度方法、装置、设备及介质
CN111698311A (zh) 分布式存储集群的节点控制方法及装置、电子设备
CN107168685B (zh) 更新脚本的方法及装置、计算机终端
CN110738515A (zh) 资源投放数据的监测方法、装置及存储介质
CN114185682B (zh) 日志输出方法、装置、电子设备及存储介质
CN113805910B (zh) 一种应用中的数据共享的方法及系统
CN111143037B (zh) 一种虚拟机资源分配方法、设备、系统及存储介质
CN109542588B (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