一种配置Overlay网络容器外部IP的方法及Docker集群技术

技术编号:16761628 阅读:80 留言:0更新日期:2017-12-09 05:31
本发明专利技术公开了一种配置Overlay网络容器外部IP的方法及Docker集群,其实现过程为:首先在由若干主机组成的Docker集群中,选择至少一台主机为宿主机,并在其中创建Overlay网络,使用Overlay网络创建容器后,将Docker集群所处的外部网络的可用IP与Overlay网络中容器IP进行映射,以实现容器外部路由,从而通过外部网络访问容器。本发明专利技术的一种配置Overlay网络容器外部IP的方法及Docker集群与现有技术相比,通过设计合理的外部网络规划和实现方式,使得可以配置Docker集群Overlay网络容器外部IP,进而提升Docker集群的网络管理和提高Overlay网络容器的可用性,实用性强,适用范围广泛,易于推广。

A method of configuring the external IP of Overlay network container and the Docker cluster

The invention discloses a method for configuring Overlay network container external IP and Docker cluster, the realization process is: first the Docker cluster consists of several host, select at least one host to host, and create a Overlay network in which the use of Overlay network to create the container, will be available IP and Overlay network Docker the cluster of the external network in container IP mapping to realize the outside of the container routing, to access the container through the external network. Compared with the prior art, a method of configuring Overlay network outside the container of the invention of the IP and Docker clusters, the external network through reasonable planning and design and implementation, which can configure the Docker Overlay container cluster network external IP, and enhance the network management of Docker cluster and improve the availability of Overlay network container, practical application wide range, easy popularization.

【技术实现步骤摘要】
一种配置Overlay网络容器外部IP的方法及Docker集群
本专利技术涉及数据中心
,具体地说是一种配置Overlay网络容器外部IP的方法及Docker集群。
技术介绍
Overlay网络是指在不改变现有网络基础设施的前提下,按照某种约定通信协议,把二层报文封装在IP报文之上的新数据格式。不但能够充分利用成熟的IP路由协议进程数据分发,而且采用扩展的隔离标识位数,能够突破VLAN的数量限制。因此,Overlay网络实际上是目前最主流的Docker容器跨节点数据传输和路由方案。但是Overlay网络的容器获取的地址是一个内部IP,外部如果需要直接访问容器时,必须事先要求Docker创建容器使用端口映射的方式。在生产场景下,Docker集群环境会有端口不足和容器访问不方便的致命缺陷,不能从根本上满足集群容器的服务提供能力。基于上述问题,亟需一种能够灵活实现对Docker集群的容器进行访问的技术。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种配置Overlay网络容器外部IP的方法及Docker集群。一种配置Overlay网络容器外部IP的方法,其实现过程为:首先在由若干主机组成的Docker集群中,选择至少一台主机为宿主机,并在其中创建Overlay网络,使用Overlay网络创建容器后,将Docker集群所处的外部网络的可用IP与Overlay网络中容器IP进行映射,以实现容器外部路由,从而通过外部网络访问容器。在Docker集群所处系统中配置有数据库,该数据库中保存外部网络的可用IP和网关信息,所述数据库为Mariadb数据库。在Docker集群系统中配置有分配模块、IP管理模块,其中分配模块用于配置外部网络中的可用IP段,所述外部网络为集群所处网络,即所有主机所处的网络;IP管理模块则用于将可用IP段中的IP分配给外部网络中的宿主机。所述数据库配合分配模块、IP管理模块记录外部网络的可用IP信息,其过程为:首先由分配模块初始化外部网络,为外部网络配置可用IP段和网关;IP管理模块接收分配模块传来的包括可用IP段和网关信息的参数,通知Mariadb数据库建表;Mariadb数据库分表分别保存网络、可用IP段和可用IP,返回成功;当IP管理模块管理的IP状态发生变化时,所述Mariadb数据库中的IP状态进行相应变化。将Docker集群所处的外部网络的可用IP与Overlay网络中容器IP进行映射是指外部网络的可用IP与容器IP进行绑定,其过程为:IP管理模块从外部网络的可用IP段中分配一个IP下发到需要绑定的宿主机,通过脚本建立路由,建立完成后返回成功信息;IP管理模块通知Mariadb数据库记录该IP;Mariadb数据库将IP表的该IP状态置为已占用,完成记录。可用IP与容器IP进行绑定的具体过程为:首先通过Overlay网络创建容器后,开始绑定浮动IP的操作,即开始下述步骤;IP管理模块通知Mariadb数据库查询是否有可用外部网络IP;Mariadb数据库查询有可用IP后,置为已分配,返回IP管理模块预分配的IP;IP管理模块下发IP到创建Overlay网络的宿主机,执行脚本建立外部IP与容器IP的映射关系;IP管理模块接收到返回成功的信息后,通知Mariadb数据库更新外部IP的状态字段;Mariadb数据库将IP表的该IP状态置为已占用,记录IP映射关系,返回成功信息。当容器删除或暂时不需要外部访问时,进行解绑浮动IP的操作,宿主机删除外部IP与容器IP的映射关系,数据库收回外部IP并重新置为可用。解绑浮动IP的具体过程为:首先IP管理模块通知Mariadb数据库查询容器绑定的外部IP;Mariadb数据库查询该IP,删除IP映射关系记录,将外部IP重新置为可用;IP管理模块下发IP到宿主机,通过脚本删除外部IP与容器IP的映射关系;删除成功后,解绑完成。一种Docker集群,包括:若干主机,其中至少一台主机为宿主机,所述宿主机中配置有Overlay网络,该Overlay网络创建容器,在Docker集群中配置有分配模块和IP管理模块,其中分配模块用于配置外部网络中的可用IP段,所述外部网络为集群所处网络,即所有主机所处的网络;IP管理模块则用于将可用IP段中的IP分配给外部网络中的宿主机。在Docker集群中还配置有数据库,该数据库中保存外部网络的可用IP和网关信息,所述数据库为Mariadb数据库。本专利技术的一种配置Overlay网络容器外部IP的方法及Docker集群和现有技术相比,具有以下有益效果:本专利技术的一种配置Overlay网络容器外部IP的方法及Docker集群,采用Docker原生的集群Overlay网络,在此基础上增加配置Docker集群容器外部IP的过程,包括绑定和解绑的支持,从而能够弥补外部访问Docker集群容器不灵活的缺陷,帮助开发人员更方便的访问和使用容器,同时可以有效管理Docker集群网络;通过设计合理的外部网络规划和实现方式,使得可以配置Docker集群Overlay网络容器外部IP,进而提升Docker集群的网络管理和提高Overlay网络容器的可用性,实用性强,适用范围广泛,易于推广。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。附图1为Docker集群初始化外部网络流程图。附图2为Docker集群Overlay网络容器绑定外部IP流程图。附图3为Docker集群Overlay网络容器解绑外部IP流程图。具体实施方式为了使本
的人员更好地理解本专利技术的方案,下面结合具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如附图所示,本专利技术提供一种配置Overlay网络容器外部IP的方法,采用Docker官方文档部署Docker集群环境,前台界面初始化外部网络(可用IP段和网关),后台交由Mariadb数据库保存配置信息,创建Overlay网络时用LinuxIptables初始化内部网关。使用Overlay网络创建容器后,调用绑定浮动IP操作,数据库分配一个可用IP,宿主机用LinuxIptables实现外部IP与容器IP的映射关系,完成配置Docker集群Overlay网络容器外部IP的过程。当容器删除或暂时不需要外部访问时,可以调用解绑浮动IP操作,宿主机删除外部IP与容器IP的映射关系,数据库收回外部IP并重新置为可用。在生产环境下,可以灵活的实现外部IP与容器OverlayIP的绑定与解绑,使得在外部可以灵活访问Docker集群的容器。在上述步骤中,Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接本文档来自技高网
...
一种配置Overlay网络容器外部IP的方法及Docker集群

【技术保护点】
一种配置Overlay网络容器外部IP的方法,其特征在于,其实现过程为:首先在由若干主机组成的Docker集群中,选择至少一台主机为宿主机,并在其中创建Overlay网络,使用Overlay网络创建容器后,将Docker集群所处的外部网络的可用IP与Overlay网络中容器IP进行映射,以实现容器外部路由,从而通过外部网络访问容器。

【技术特征摘要】
1.一种配置Overlay网络容器外部IP的方法,其特征在于,其实现过程为:首先在由若干主机组成的Docker集群中,选择至少一台主机为宿主机,并在其中创建Overlay网络,使用Overlay网络创建容器后,将Docker集群所处的外部网络的可用IP与Overlay网络中容器IP进行映射,以实现容器外部路由,从而通过外部网络访问容器。2.根据权利要求1所述的一种配置Overlay网络容器外部IP的方法,其特征在于,在Docker集群所处系统中配置有数据库,该数据库中保存外部网络的可用IP和网关信息,所述数据库为Mariadb数据库。3.根据权利要求2所述的一种配置Overlay网络容器外部IP的方法,其特征在于,在Docker集群系统中配置有分配模块、IP管理模块,其中分配模块用于配置外部网络中的可用IP段,所述外部网络为集群所处网络,即所有主机所处的网络;IP管理模块则用于将可用IP段中的IP分配给外部网络中的宿主机。4.根据权利要求3所述的一种配置Overlay网络容器外部IP的方法,其特征在于,所述数据库配合分配模块、IP管理模块记录外部网络的可用IP信息,其过程为:首先由分配模块初始化外部网络,为外部网络配置可用IP段和网关;IP管理模块接收分配模块传来的包括可用IP段和网关信息的参数,通知Mariadb数据库建表;Mariadb数据库分表分别保存网络、可用IP段和可用IP,返回成功;当IP管理模块管理的IP状态发生变化时,所述Mariadb数据库中的IP状态进行相应变化。5.根据权利要求3或4所述的一种配置Overlay网络容器外部IP的方法,其特征在于,将Docker集群所处的外部网络的可用IP与Overlay网络中容器IP进行映射是指外部网络的可用IP与容器IP进行绑定,其过程为:IP管理模块从外部网络的可用IP段中分配一个IP下发到需要绑定的宿主机,通过脚本建立路由,建立完成后返回成功信息;IP管理模块通知Mariadb数据库记录该IP;Mariadb数据库将IP表的该IP状...

【专利技术属性】
技术研发人员:李珂
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1