CN110445884A - 一种容器ip地址管理方法及装置 - Google Patents
一种容器ip地址管理方法及装置 Download PDFInfo
- Publication number
- CN110445884A CN110445884A CN201810419506.4A CN201810419506A CN110445884A CN 110445884 A CN110445884 A CN 110445884A CN 201810419506 A CN201810419506 A CN 201810419506A CN 110445884 A CN110445884 A CN 110445884A
- Authority
- CN
- China
- Prior art keywords
- address
- container
- scrappy
- cloud platform
- address field
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- 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
Abstract
本发明实施例公开一种容器IP地址管理方法及装置。其中,所述方法包括:接收容器云平台的第一IP地址分配请求,所述第一IP地址分配请求包括容器标识;其中,所述第一IP地址分配请求是所述容器云平台检测到所述容器标识对应的容器为不可用之后发送的;根据所述容器标识,获取所述容器标识对应的IP地址;将所述容器标识对应的IP地址发送至所述容器云平台,以使得所述容器云平台根据所述容器标识对应的IP地址重建所述容器。所述装置用于执行上述方法。本发明实施例提供的容器IP地址管理方法及装置,能够减少IP地址资源浪费,并提高IP地址资源利用率。
Description
技术领域
本发明实施例涉及通信技术领域,具体涉及一种容器IP地址管理方法及装置。
背景技术
当前容器技术在不断发展,已逐渐成为电信行业应用部署的标准技术,承载着各种核心业务及标准服务。随着承载业务越来越重要,对容器技术各方面的要求也在不断提高。
容器除了本身运行稳定、具备故障自愈功能外,容器自身在资源池内随机漂移的特性会对服务调用方管理访问地址带来一定困难。目前业界对于容器服务地址固定,一般采用负载均衡软件或者容器网络两种解决方案。负载均衡软件:通过Nginx、HAProxy、LVS等负载均衡软件,将来自容器或其他外部来源的访问流量转发到目标业务容器,通过相对固定的负载均衡软件的地址来解决底层容器IP地址经常漂移的问题。容器网络:通过使用容器网络的第三方插件,在容器资源池内部建立虚拟网,并将业务容器按类别加入一个虚拟网并分配一个固定IP地址,容器之间或容器与外部均使用此固定IP地址进行交互。然而,伴随标准化中间件容器服务如MySQL、Redis、MongoDB的广泛应用,现有负载均衡软件以及容器网络在应用的过程中或多或少存在着短板或缺陷。
负载均衡软件通过服务发现及引流的机制将业务服务注册到负载均衡软件,负载均衡对外提供固定的访问地址,并将业务流量根据访问端口或请求的上下文根策略进行相应的转发,存在如下缺陷:(1)网络链路加长,性能有所下降:由于负载均衡的引入相当于在原有客户端到服务端的请求链路中增加了的环节,会造成额外的性能开销,例如,通过Tcpdump抓包分析统计并分析历史数据,单层负载均衡软件引入带来的延迟约为6ms;(2)白名单校验受到影响:实际生产过程中,很多核心业务系统会对请求来源进行鉴权以提升系统安全性,而由于负载均衡软件的引入,往往会导致真实的源IP地址丢失,能够获取到的地址并不是真正的请求发起方的地址,会导致整个白名单功能失效。容器网络常用的容器固定IP地址技术有Docker原生的Overlay、Calico、Flannel、Weaves四种,其中Flannel、Weave、Overlay均使用VxLAN实现,其特性决定了整体的网络性能损耗较大,且方案尚不成熟。而Calico使用的是粗粒度的大段IP地址分配,具体管理需要人工介入,Calico可以为每个容器分配一个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地址管理方法的流程示意图;
图3为本发明第三实施例容器IP地址管理方法的流程示意图;
图4为本发明第四实施例容器IP地址管理方法的流程示意图;
图5为本发明第五实施例容器IP地址管理方法的流程示意图;
图6为本发明第六实施例容器IP地址管理方法的流程示意图;
图7为本发明实施例容器IP地址管理装置的结构示意图;
图8为本发明实施例电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明实施例一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。
图1为本发明第一实施例容器IP地址管理方法的流程示意图,如图1所示,本发明实施例提供的容器IP地址管理方法,包括:
S101、接收容器云平台的第一IP地址分配请求,所述第一IP地址分配请求包括容器标识;其中,所述第一IP地址分配请求是所述容器云平台检测到所述容器标识对应的容器为不可用之后发送的;
具体地,本发明实施例提供的容器IP地址管理方法是基于Calico实现的。容器云平台可以通过健康检查机制定期对各个容器进行健康检测,以检测各个所述容器的可用性。当所述容器云平台检测到所述容器为非健康时,即所述容器不可用时,所述容器云平台会向容器IP地址管理装置发送第一IP地址分配请求,所述容器IP地址管理装置会接收所述第一IP地址分配请求,所述第一IP地址分配请求包括所述容器的容器标识。其中,所述容器与所述容器标识一一对应;所述容器云平台可以基于Docker,能够提供应用的部署、维护和扩展等功能。
S102、根据所述容器标识,获取所述容器标识对应的IP地址;
具体地,所述容器IP地址管理装置在接收到所述容器标识之后,可以根据所述容器标识查找到所述容器标识对应的IP地址。可理解的是,所述容器IP地址管理装置储存有所述容器标识与所述IP地址的对应关系。其中,所述容器标识与所述IP地址一一对应。
S103、将所述容器标识对应的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地址资源利用率。
图2为本发明第二实施例容器IP地址管理方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,本发明实施例提供的容器IP地址管理方法还包括:
S201、定时检测每个所述容器的网络状况;
具体地,所述容器IP地址管理装置会定时对每个已分配IP地址的所述容器发起ping操作,以检测每个所述容器的网络状况。
S202、若判断获知所述容器的网络状况异常,则标记所述容器的IP地址为暂时失效;其中,标记为暂时失效的IP地址不会被重新分配;。
具体地,如果所述容器IP地址管理装置在对所述容器发起ping操作之后的预设时间内没有接收到反馈消息,则说明所述容器的网络状况异常,所述容器IP地址管理装置将所述容器的IP地址标记为暂时失效,标记为暂时失效的IP地址会在对应的容器重建的时候被使用,而不会被其它的容器或者应用占用。其中,所述预设时间根据实际经验进行设置,本发明实施例不做限定。
S203、若判断获知所述容器的网络状况正常且所述容器的IP地址被标记为暂时失效,则修改所述容器的IP地址的标记为已用。
具体地,如果所述容器IP地址管理装置在对所述容器发起ping操作之后的预设时间内接收到反馈消息,则说明所述容器的网络状况正常,如果此时所述容器的IP地址被标记为暂时失效,那么所述容器IP地址管理装置会重新标记所述容器的IP地址,将所述容器的IP地址标记为已用,标记为已用的IP地址不会被分配使用。
图3为本发明第三实施例容器IP地址管理方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,本发明实施例提供的容器IP地址管理方法还包括:
S301、接收所述容器云平台的第二IP地址分配请求,所述第二IP地址分配请求是所述容器云平台在新建应用时发送的,所述第二IP地址分配请求包括所述应用对应的容器数量;
具体地,所述容器云平台在新建应用时,可以向所述容器IP地址管理装置发送第二IP地址分配请求,所述第二地址分配请求包括所述应用对应的容器数量,即对于所述应用需要建立多少个所述容器。所述容器IP地址管理装置会接收所述第二IP地址分配请求。
S302、根据所述容器数量从IP资源池获取相应数量的IP地址;
具体地,所述容器IP地址管理装置在接收到所述第二IP地址分配请求之后,可以根据所述容器数量从IP资源池获取相应数量的IP地址,所述相应的数量与所述容器数量相等。所述相应数量的IP地址的具体获取过程见下文所述。所述容器IP地址管理装置在获得所述相应数量的IP地址之后,可以将所述相应数量的IP地址发送给Calico组件,Calico组件根据所述相应数量的IP地址建立一个虚拟网络,并上报给Calico的广播者,同时将所述相应数量的IP地址下发到每一个安装Calico Controller的计算节点,所述计算节点可以根据所述相应数量的IP地址更新本地的IP地址表和路由表。其中,所述IP资源池中包括已用IP地址和未用IP地址,可以以IP地址列表的形式储存。
S303、将所述相应数量的IP地址发送至所述容器云平台,以使得所述容器云平台将所述相应数量的IP地址配置给所述应用对应的容器;其中,每个所述容器与所述IP地址一一对应。
具体地,所述容器IP地址管理装置在获得所述相应数量的IP地址之后,将所述相应数量的IP地址发送给所述容器云平台。所述容器云平台可以接收所述相应数量的IP地址,并在创建所述应用对应的容器时,将所述相应数量的IP地址分别配置给所述应用对应的各个所述容器。其中,每个所述容器与所述IP地址一一对应。
304、接收所述容器云平台发送的所述相应数量的IP地址与所述应用对应的容器的对应关系并存储。
具体地,所述容器云平台在创建所述应用对应的容器之后,会将所述应用对应的容器与所述相应数量的IP地址的对应关系发送给所述容器IP地址管理装置,所述容器IP地址管理装置会接收所述应用对应的容器与所述相应数量的IP地址的对应关系并储存,例如可以将所述容器与所述IP地址的一一对应关系储存到IP地址列表中,以方便后续查找使用。
图4为本发明第四实施例容器IP地址管理方法的流程示意图,如图4所示,在上述各实施例的基础上,进一步地,所述根据所述容器数量从IP资源池获取相应数量的IP地址包括:
S3021、若判断获知所述容器数量大于各个零碎地址段的未用IP地址数量之和,则从未分配地址段获取所述相应数量的IP地址,或者对所述未分配地址段进行扩容之后从扩容后的未分配地址段获取所述相应数量的IP地址;其中,所述零碎地址段是指同时包括已用IP地址和未用IP地址的网络地址,所述未分配地址段是指不包括已用IP地址的网络地址;
具体地,所述容器IP地址管理装置可以统计获得各个零碎地址段的未用IP地址数量之和,将所述容器数量与所述各个零碎地址段的未用IP地址数量之和进行对比,如果所述容器数量大于所述各个零碎地址段的未用IP地址数量之和,说明所述各个零碎地址段的未用IP地址数量不能满足需求。所述容器IP地址管理装置统计获得未分配地址段的IP地址数量,如果所述容器数量小于等于所述未分配地址段的IP地址数量,那么从所述未分配地址段获取所述相应数量的IP地址;如果所述容器数量大于所述未分配地址段的IP地址数量,说明所述未分配地址段的IP地址数量不能满足需求,可以对所述未分配地址段进行扩容,增加所述未分配地址段的IP地址数量,使扩容后的未分配地址段的IP地址数量大于等于所述容器数量,然后从扩容后的未分配地址段获取所述相应数量的IP地址。其中,所述零碎地址段是指同时包括已用IP地址和未用IP地址的网络地址,所述未分配地址段是指不包括已用IP地址的网络地址。
例如,所述容器IP地址管理装置接收到应用A对应的容器数量为n。所述容器IP地址管理装置获得零碎地址段a的未用IP地址数量为5,零碎地址段b的未用IP地址数量为8,零碎地址段c的未用IP地址数量为7,各个所述零碎地址段的IP地址之和为5+7+8=20;所述容器IP地址管理装置获得所述未分配地址段的IP地址数量为45。
如果n=65,由于各个所述零碎地址段的未用IP地址之和20小于应用A对应的容器数量65,所述容器IP地址管理装置从所述未分配地址段获取所述相应数量的IP地址,由于所述未分配地址段的IP地址数量为45,小于应用A对应的容器数量65,所述容器IP地址管理装置会对所述未分配地址段进行扩容,使扩容之后的未分配地址段的IP地址数量大于等于65,然后从扩容之后的未分配地址段获取65个IP地址。
如果n=30,由于各个所述零碎地址段的未用IP地址之和20小于应用A对应的容器数量30,所述容器IP地址管理装置从所述未分配地址段获取所述相应数量的IP地址,由于所述未分配地址段的IP地址数量为45,大于应用A对应的容器数量30,所述容器IP地址管理装置直接从所述未分配地址段获取30个IP地址。
S3022、若判断获知所述容器数量小于等于各个所述零碎地址段的未用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地址管理装置接收到应用B对应的容器数量为m。所述容器IP地址管理装置获得零碎地址段a的未用IP地址数量为5,零碎地址段b的未用IP地址数量为8,零碎地址段c的未用IP地址数量为7,各个所述零碎地址段的未用IP地址之和为5+7+8=20;所述容器IP地址管理装置获得所述未分配地址段的IP地址数量为15。
如果m=5,由于应用B对应的容器数量5小于各个所述零碎地址段的未用IP地址之和20,所述容器IP地址管理装置可以从各个所述零碎地址段获取5个IP地址,零碎地址段a的未用IP地址数量为5,可以获取零碎地址段a的5个IP地址。
如果m=13,由于应用B对应的容器数量13小于各个所述零碎地址段的未用IP地址之和20,所述容器IP地址管理装置可以从各个所述零碎地址段获取13个IP地址,零碎地址段a的未用IP地址数量为5,零碎地址段b的未用IP地址数量为8,可以获取零碎地址段a的5个IP地址和零碎地址段b的8个IP地址。
如果m=14,由于应用B对应的容器数量14小于各个所述零碎地址段的未用IP地址之和20,所述容器IP地址管理装置可以从各个所述零碎地址段获取14个IP地址,通过零碎地址段a、零碎地址段b和零碎地址段c的未用IP地址数量的组合可以发现,可以从零碎地址段b和零碎地址段c获取14个IP地址,但需要对其中一个零碎地址段进行切分,才能组合成14个IP地址;由于应用B对应的容器数量14小于所述未分配地址段的IP地址数量15,所述容器IP地址管理装置可以从所述未分配地址段获取14个IP地址。
如果m=18,由于应用B对应的容器数量18小于各个所述零碎地址段的未用IP地址之和20,所述容器IP地址管理装置可以从各个所述零碎地址段获取18个IP地址,通过零碎地址段a、零碎地址段b和零碎地址段c的未用IP地址数量的组合可以发现,可以从零碎地址段a、零碎地址段b和零碎地址段c获取18个IP地址,但需要对零碎地址段b和零碎地址段c的其中一个进行切分,才能组合成18个IP地址;由于应用B对应的容器数量18大于所述未分配地址段的IP地址数量15,所述容器IP地址管理装置可以从所述未分配地址段获取15个IP地址,然后从零碎地址段a获取3个IP地址,从而获取到18个IP地址。
图5为本发明第五实施例容器IP地址管理方法的流程示意图,如图5所示,在上述各实施例的基础上,进一步地,所述若判断获知所述容器数量小于等于各个所述零碎地址段的未用IP地址数量之和,则从各个所述零碎地址段中获取所述相应数量的IP地址包括:
S30221、获取所述容器数量等于最多预设数量的所述零碎地址段的未用IP地址数量之和对应的各个所述零碎地址段的组合;
具体地,所述容器IP地址管理装置将所述容器数量与所述各个零碎地址段的未用IP地址数量之和进行对比,在所述容器数量小于等于所述各个零碎地址段的未用IP地址数量之和后,可以将最多预设数量的所述零碎地址段的未用IP地址数量相加,获取最多预设数量的所述零碎地址段的未用IP地址数量之和对应的各个所述零碎地址段的组合。其中,所述预设数量根据实际情况进行设置,本发明实施例不做限定。
例如,所述容器IP地址管理装置接收到应用C对应的容器数量为15,所述预设数量为3。所述容器IP地址管理装置获得零碎地址段a的未用IP地址数量为5,零碎地址段b的未用IP地址数量为8,零碎地址段c的未用IP地址数量为7,零碎地址段d的未用IP地址数量为4,零碎地址段e的未用IP地址数量为15,零碎地址段f的未用IP地址数量为6。所述容器IP地址管理装置可以获取到零碎地址段b的未用IP地址数量与零碎地址段c的未用IP地址数量之和为7+8=15,零碎地址段e的未用IP地址数量为15,零碎地址段a的未用IP地址数量、零碎地址段d的未用IP地址数量和零碎地址段f的未用IP地址数量之和为5+4+6=15。所述容器IP地址管理装置可以得到三个所述零碎地址段的组合:零碎地址段e,零碎地址段b与零碎地址段c,零碎地址段a、零碎地址段d与零碎地址段f。
S30222、从所述零碎地址段的数量最少的所述零碎地址段的组合中获取所述相应数量的IP地址。
具体地,所述容器IP地址管理装置在获得各个所述零碎地址段的组合之后,可以计算各个所述零碎地址段的组合的各自的所述零碎地址段的数量,从而获得所述零碎地址段的数量最少的所述零碎地址段的组合,并从所述零碎地址段的数量最少的所述零碎地址段的组合中获取所述相应数量的IP地址。
例如,所述容器IP地址管理装置获取到三个所述零碎地址段的组合:零碎地址段e,零碎地址段b与零碎地址段c,零碎地址段a、零碎地址段d与零碎地址段f。其中,零碎地址段e的零碎地址段的数量为1,零碎地址段b与零碎地址段c的零碎地址段的数量为2,零碎地址段a、零碎地址段d与零碎地址段f的零碎地址段的数量为3,由于零碎地址段e的零碎地址段的数量最少,所以所述容器IP地址管理装置从零碎地址段e中获取所述相应数量的IP地址。
在上述各实施例的基础上,进一步地,所述从所述未分配地址段和所述各个所述零碎地址段获取所述相应数量的IP地址包括:
获取所述未分配地址段的全部IP地址,并从各个所述零碎地址段中获取所述容器数量减去所述未分配地址段的IP地址数量的差值数量的IP地址。
具体地,所述容器IP地址管理装置可以获取所述未分配地址段的全部IP地址,所述容器数量减去所述未分配地址段的IP地址数量的IP地址从各个所述零碎地址段中获取,从而获得所述相应数量的IP地址。
例如,所述容器IP地址管理装置接收到应用D对应的容器数量为18。所述容器IP地址管理装置获得零碎地址段a的未用IP地址数量为5,零碎地址段b的未用IP地址数量为8,零碎地址段c的未用IP地址数量为7,各个所述零碎地址段的未用IP地址之和为5+7+8=20;所述容器IP地址管理装置获得所述未分配地址段的IP地址数量为15。由于应用D对应的容器数量18大于所述未分配地址段的IP地址数量15,所述容器IP地址管理装置可以从所述未分配地址段获取15个IP地址,然后从零碎地址段a获取3个IP地址,从而获取到18个IP地址。
图6为本发明第六实施例容器IP地址管理方法的流程示意图,如图6所示,在上述各实施例的基础上,进一步地,本发明实施例提供的容器IP地址管理方法还包括:
S601、接收所述容器云平台的IP地址释放消息,所述IP地址释放消息包括应用标识;
具体地,当所述应用提供的服务正常结束时,所述容器云平台需要删除所述应用对应的容器并回收所述应用对应的IP地址,所述容器云平台可以向所述容器IP地址管理装置发送IP地址释放消息,所述容器IP地址管理装置会接收所述IP地址释放消息。其中,所述IP地址释放消息包括应用标识。
S602、根据所述应用标识将对应的IP地址标记为可用状态;
具体地,所述容器IP地址管理装置在接收到所述IP地址释放消息之后,可以根据所述应用标识在IP地址列表中将与所述应用标识对应的IP地址标记为可用状态。可理解的是,所述IP地址列表储存在所述容器IP地址管理装置中,所述容器IP地址管理装置在给所述应用分配对应的IP地址时,在所述IP地址列表中记录了所述应用与对应的IP地址的关系。
S603、向所述容器云平台返回所述IP地址释放消息的响应消息,以使得所述容器云平台删除所述应用标识对应的容器。
具体地,所述容器IP地址管理装置在将所述应用对应的IP地址标记为可用状态之后,发送所述IP地址释放消息的响应消息给所述容器云平台。所述容器云平台在接收到所述IP地址释放消息的响应消息之后,会删除所述应用标识对应的各个容器,以回收系统资源。
图7为本发明实施例容器IP地址管理装置的结构示意图,如图7所示,本发明实施例提供的容器IP地址管理装置包括接收单元701、获取单元702和发送单元703,其中:
接收单元701用于接收容器云平台的第一IP地址分配请求,所述第一IP地址分配请求包括容器标识;其中,所述第一IP地址分配请求是所述容器云平台检测到所述容器标识对应的容器为不可用之后发送的;获取单元702用于根据所述容器标识,获取所述容器标识对应的IP地址;发送单元703用于将所述容器标识对应的IP地址发送至所述容器云平台,以使得所述容器云平台根据所述容器标识对应的IP地址重建所述容器。
具体地,本发明实施例提供的容器IP地址管理方法是基于Calico实现的。容器云平台可以通过健康检查机制定期对各个容器进行健康检测,以检测各个所述容器的可用性。当所述容器云平台检测到所述容器为非健康时,即所述容器不可用时,所述容器云平台会向接收单元701发送第一IP地址分配请求,接收单元701会接收所述第一IP地址分配请求,所述第一IP地址分配请求包括所述容器的容器标识。其中,所述容器与所述容器标识一一对应;所述容器云平台可以基于Docker,能够提供应用的部署、维护和扩展等功能。
获取单元702在接收到所述容器标识之后,可以根据所述容器标识查找到所述容器标识对应的IP地址。可理解的是,获取单元702储存有所述容器标识与所述IP地址的对应关系。其中,所述容器标识与所述IP地址一一对应。
发送单元703在获得所述容器标识对应IP地址之后,将所述容器标识对应的IP地址发送给所述容器云平台,所述容器云平台会接收所述容器标识对应的IP地址。所述容器云平台可以根据所述容器标识对应的IP地址重新建立所述容器,即在重建所述容器的过程中将所述容器标识对应的IP地址配置给所述容器。其中,所述容器的重建的具体过程为现有技术,此处不进行赘述。
本发明实施例提供的容器IP地址管理装置,由于能够接收容器云平台的第一IP地址分配请求,并根据第一IP地址分配请求包括的容器标识,获取容器标识对应的IP地址,然后将容器标识对应的IP地址发送至容器云平台,以使得容器云平台根据容器标识对应的IP地址重建所述容器,能够减少IP地址资源浪费,并提高IP地址资源利用率。
本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图8为本发明实施例电子设备的实体结构示意图,如图8所示,所述电子设备包括处理器(processor)801、存储器(memory)802和通信总线803;
其中,处理器801、存储器802通过通信总线803完成相互间的通信;
处理器801用于调用存储器802中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收容器云平台的第一IP地址分配请求,所述第一IP地址分配请求包括容器标识;其中,所述第一IP地址分配请求是所述容器云平台检测到所述容器标识对应的容器为不可用之后发送的;根据所述容器标识,获取所述容器标识对应的IP地址;将所述容器标识对应的IP地址发送至所述容器云平台,以使得所述容器云平台根据所述容器标识对应的IP地址重建所述容器。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收容器云平台的第一IP地址分配请求,所述第一IP地址分配请求包括容器标识;其中,所述第一IP地址分配请求是所述容器云平台检测到所述容器标识对应的容器为不可用之后发送的;根据所述容器标识,获取所述容器标识对应的IP地址;将所述容器标识对应的IP地址发送至所述容器云平台,以使得所述容器云平台根据所述容器标识对应的IP地址重建所述容器。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收容器云平台的第一IP地址分配请求,所述第一IP地址分配请求包括容器标识;其中,所述第一IP地址分配请求是所述容器云平台检测到所述容器标识对应的容器为不可用之后发送的;根据所述容器标识,获取所述容器标识对应的IP地址;将所述容器标识对应的IP地址发送至所述容器云平台,以使得所述容器云平台根据所述容器标识对应的IP地址重建所述容器。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,装置,或者网络设备等)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种容器IP地址管理方法,其特征在于,包括:
接收容器云平台的第一IP地址分配请求,所述第一IP地址分配请求包括容器标识;其中,所述第一IP地址分配请求是所述容器云平台检测到所述容器标识对应的容器不可用之后发送的;
根据所述容器标识,获取所述容器标识对应的IP地址;
将所述容器标识对应的IP地址发送至所述容器云平台,以使得所述容器云平台根据所述容器标识对应的IP地址重建所述容器。
2.根据权利要求1所述的方法,其特征在于,还包括:
定时检测每个所述容器的网络状况;
若判断获知所述容器的网络状况异常,则标记所述容器的IP地址为暂时失效;其中,标记为暂时失效的IP地址不会被重新分配;
若判断获知所述容器的网络状况正常且所述容器的IP地址被标记为暂时失效,则重新标记所述容器的IP地址为已用。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收所述容器云平台的第二IP地址分配请求,所述第二IP地址分配请求是所述容器云平台在新建应用时发送的,所述第二IP地址分配请求包括所述应用对应的容器数量;
根据所述容器数量从IP资源池获取相应数量的IP地址;
将所述相应数量的IP地址发送至所述容器云平台,以使得所述容器云平台将所述相应数量的IP地址配置给所述应用对应的容器;其中,每个所述容器与所述IP地址一一对应;
接收所述容器云平台发送的所述相应数量的IP地址与所述应用对应的容器的对应关系并存储。
4.根据权利要求3所述的方法,其特征在于,所述根据所述容器数量从IP资源池获取相应数量的IP地址包括:
若判断获知所述容器数量大于各个零碎地址段的未用IP地址数量之和,则从未分配地址段获取所述相应数量的IP地址,或者对所述未分配地址段进行扩容之后从扩容后的未分配地址段获取所述相应数量的IP地址;其中,所述零碎地址段是指同时包括已用IP地址和所述未用IP地址的网络地址,所述未分配地址段是指不包括所述已用IP地址的网络地址;
若判断获知所述容器数量小于等于各个所述零碎地址段的未用IP地址数量之和,则从各个所述零碎地址段中获取所述相应数量的IP地址,从所述未分配地址段和所述各个所述零碎地址段获取所述相应数量的IP地址或者从所述未分配地址段获取所述相应数量的IP地址。
5.根据权利要求4所述的方法,其特征在于,所述若判断获知所述容器数量小于等于各个所述零碎地址段的未用IP地址数量之和,则从各个所述零碎地址段中获取所述相应数量的IP地址包括:
获取所述容器数量等于最多预设数量的所述零碎地址段的未用IP地址数量之和对应的各个所述零碎地址段的组合;
从所述零碎地址段的数量最少的所述零碎地址段的组合中获取所述相应数量的IP地址。
6.根据权利要求4所述的方法,其特征在于,所述从所述未分配地址段和所述各个所述零碎地址段获取所述相应数量的IP地址包括:
获取所述未分配地址段的全部IP地址,并从各个所述零碎地址段中获取所述容器数量减去所述未分配地址段的IP地址数量的差值数量的IP地址。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:
接收所述容器云平台的IP地址释放消息,所述IP地址释放消息包括应用标识;
根据所述应用标识将对应的IP地址标识为可用状态;
向所述容器云平台返回所述IP地址释放消息的响应消息,以使得所述容器云平台删除所述应用标识对应的容器。
8.一种容器IP地址管理装置,其特征在于,包括:
接收单元,用于接收容器云平台的第一IP地址分配请求,所述第一IP地址分配请求包括容器标识;其中,所述第一IP地址分配请求是所述容器云平台检测到所述容器标识对应的容器为不可用之后发送的;
获取单元,用于根据所述容器标识,获取所述容器标识对应的IP地址;
发送单元,用于将所述容器标识对应的IP地址发送至所述容器云平台,以使得所述容器云平台根据所述容器标识对应的IP地址重建所述容器。
9.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中:
所述处理器和所述存储器通过所述通信总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810419506.4A CN110445884A (zh) | 2018-05-04 | 2018-05-04 | 一种容器ip地址管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810419506.4A CN110445884A (zh) | 2018-05-04 | 2018-05-04 | 一种容器ip地址管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110445884A true CN110445884A (zh) | 2019-11-12 |
Family
ID=68427124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810419506.4A Pending CN110445884A (zh) | 2018-05-04 | 2018-05-04 | 一种容器ip地址管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110445884A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200595A (zh) * | 2019-12-20 | 2020-05-26 | 北京淇瑀信息科技有限公司 | 一种访问容器的权限管理方法、装置和电子设备 |
CN112995349A (zh) * | 2019-12-12 | 2021-06-18 | 中兴通讯股份有限公司 | 地址管理方法、服务器和计算机可读存储介质 |
CN113037522A (zh) * | 2019-12-24 | 2021-06-25 | 华为数字技术(苏州)有限公司 | 一种容器单元管理方法及相关设备 |
US11456987B1 (en) | 2021-05-07 | 2022-09-27 | State Farm Mutual Automobile Insurance Company | Systems and methods for automatic internet protocol address management |
CN115361359A (zh) * | 2022-08-18 | 2022-11-18 | 中电云数智科技有限公司 | 一种基于kubernetes的IP地址管理装置和方法 |
WO2023115836A1 (zh) * | 2021-12-24 | 2023-06-29 | 北京百度网讯科技有限公司 | 分布式作业系统控制方法、装置、设备、介质及程序产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107580083A (zh) * | 2017-09-20 | 2018-01-12 | 北京京东尚科信息技术有限公司 | 一种容器ip地址分配的方法和系统 |
-
2018
- 2018-05-04 CN CN201810419506.4A patent/CN110445884A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107580083A (zh) * | 2017-09-20 | 2018-01-12 | 北京京东尚科信息技术有限公司 | 一种容器ip地址分配的方法和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995349A (zh) * | 2019-12-12 | 2021-06-18 | 中兴通讯股份有限公司 | 地址管理方法、服务器和计算机可读存储介质 |
CN112995349B (zh) * | 2019-12-12 | 2023-07-04 | 中兴通讯股份有限公司 | 地址管理方法、服务器和计算机可读存储介质 |
CN111200595A (zh) * | 2019-12-20 | 2020-05-26 | 北京淇瑀信息科技有限公司 | 一种访问容器的权限管理方法、装置和电子设备 |
CN111200595B (zh) * | 2019-12-20 | 2022-04-29 | 北京淇瑀信息科技有限公司 | 一种访问容器的权限管理方法、装置和电子设备 |
CN113037522A (zh) * | 2019-12-24 | 2021-06-25 | 华为数字技术(苏州)有限公司 | 一种容器单元管理方法及相关设备 |
US11456987B1 (en) | 2021-05-07 | 2022-09-27 | State Farm Mutual Automobile Insurance Company | Systems and methods for automatic internet protocol address management |
WO2023115836A1 (zh) * | 2021-12-24 | 2023-06-29 | 北京百度网讯科技有限公司 | 分布式作业系统控制方法、装置、设备、介质及程序产品 |
CN115361359A (zh) * | 2022-08-18 | 2022-11-18 | 中电云数智科技有限公司 | 一种基于kubernetes的IP地址管理装置和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110445884A (zh) | 一种容器ip地址管理方法及装置 | |
CN106686085B (zh) | 一种负载均衡的方法、装置和系统 | |
WO2017045471A1 (zh) | 一种在云计算系统中获取业务链信息的方法和装置 | |
CN105939290B (zh) | 一种分配资源的方法及装置 | |
CN110896371B (zh) | 一种虚拟网络设备及相关方法 | |
CN103618621B (zh) | 一种软件定义网络sdn的自动配置方法、设备及系统 | |
CN106301876B (zh) | 物理机升级方法、业务迁移方法及装置 | |
CN105978781A (zh) | 建立Docker容器的网络连接的方法、系统以及客户端 | |
US10594586B2 (en) | Dialing test method, dialing test system, and computing node | |
CN110351246A (zh) | 服务器集群系统Socket管理方法及装置 | |
CN108924268A (zh) | 一种容器云服务系统及pod创建方法、装置 | |
CN106301829A (zh) | 一种网络业务扩容的方法和装置 | |
CN107809367A (zh) | 一种sdn网络的设备上线方法及sdn控制器、网络设备 | |
US20200244486A1 (en) | Dynamic customer vlan identifiers in a telecommunications network | |
CN102932409B (zh) | 一种虚拟机在线迁移的方法和系统 | |
CN109358967A (zh) | 一种me平台app实例化迁移方法及服务器 | |
CN108390956A (zh) | 一种为虚拟机配置互联网协议ip地址的方法和系统 | |
US20190272280A1 (en) | Method for Elastic Geographical Database Replication | |
CN105656964B (zh) | 数据推送的实现方法及装置 | |
CN107332814B (zh) | 一种请求消息传输方法及装置 | |
CN114500523A (zh) | 一种基于容器云平台的固定ip应用发布方法 | |
CN104780232A (zh) | 一种资源分配方法、控制器及系统 | |
CN105450540A (zh) | 一种负载均衡方法、装置及dhcp服务器 | |
US9729454B2 (en) | Methods, systems, and computer readable media for balancing diameter message traffic received over long-lived diameter connections | |
CN112243036B (zh) | PaaS服务的数据处理方法及装置、设备、存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191112 |
|
RJ01 | Rejection of invention patent application after publication |