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

技术编号:15695754 阅读:61 留言:0更新日期:2017-06-24 11:17
本发明专利技术提供了一种配置Docker集群容器外部IP的方法,该方法保证在外部可以灵活的访问Docker集群容器提供的服务。Docker集群环境初始化配置外部IP并交给后台数据库保存,同时在主机建立好路由。Docker集群创建容器后会分配到一个外部IP供外部访问,后台数据库记录映射关系。Docker集群销毁容器删除Linux Iptables规则,后台数据库删除记录并回收外部IP。

【技术实现步骤摘要】
一种配置Docker集群容器外部IP的方法
本专利技术涉及的是一种计算机软件应用的技术,尤其是一种基于LinuxIptables规则和Mariadb数据库配置Docker集群容器外部IP的方法,保证在外部可以灵活的访问Docker集群容器提供的服务。
技术介绍
在现有技术中,公知的技术是Docker是一个开源的引擎,可以轻松的为任何一个应用创建一个轻量级的可移植的、自给自足的容器,开发者编译测试通过的容器可以批量的在生产环境中部署,包括虚拟机、OpenStack集群和其他的基础应用平台。Docker集群创建容器时一般使用支持多主机通信的Overlay模式,外部访问容器服务必须使用端口映射的方式,这存在主机端口不足的致命缺陷。因此我们需要一种配置Docker集群容器外部IP的方法,可以在外部更灵活的访问容器服务。LinuxIptables是用来设置、维护和检查Linux内核的IP包过滤规则的。我们使用其中的NAT表用于网络地址转换,包含PREROUTING、OUTPUT、POSTROUTING三个链。每个链都是一个规则列表,对对应的包进行匹配;每条规则指定应当如何处理与之相匹配的包,也可以跳向同一表内用户定义的链。Mariadb数据库作为MySQL的一个分支,主要有开源社区维护,采用GPL授权许可,其目的是完全兼容MySQL,包括API和命令行,使之轻松成为MySQL的代替品,但在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。
技术实现思路
本专利技术的目的就是针对现有技术所存在的不足,而提供一种配置Docker集群容器外部IP的方法,该方法保证在外部可以灵活的访问Docker集群容器提供的服务。Docker集群环境初始化配置外部IP并交给后台数据库保存,同时在主机建立好路由。Docker集群创建容器后会分配到一个外部IP供外部访问,后台数据库记录映射关系。Docker集群销毁容器删除LinuxIptables规则,后台数据库删除记录并回收外部IP。本方案是通过如下技术措施来实现的:一种配置Docker集群容器外部IP的方法,包括如下步骤:1)主机搭建Docker集群环境,配置外部网络的基本信息,后台数据库建立数据表并保存信息,同时Docker主机选取首个外部IP进行路由的创建,数据库记录该外部IP;2)Docker环境创建容器时需要申请外部IP,后台数据库检索数据表分配可用IP;下发该IP及路由信息到容器所在主机添加并执行LinuxIptables规则,此时可用该IP访问容器服务,数据库记录外部IP与内部IP的映射;3)Docker环境销毁容器时需要释放外部IP,通知后台数据库删除外部IP与内部IP的映射记录,将外部IP重置为可用状态;下发该IP到容器所在主机删除对应的LinuxIptables规则。所述的步骤1)中基本信息包括无类别域间路由选择CIDR段、网关、可用IP段。所述的LinuxIptables规则使用NAT表用于转换包的源或目标地址。所述的后台数据库采用Mariadb数据库,后台数据库建立Network、Subnet、IP三张表,其中Network表记录每个网络的基本信息,映射一到多个Subnet表;Subnet表记录每个网络的可用IP段,映射一到多个IP表;IP表记录每个IP及其是否可用的状态。本方案的有益效果可根据对上述方案的叙述得知,由于在该方案中集成在生产环境下Docker集群管理环境工程中,容器可根据需要灵活的申请与释放外部IP,从而完成Docker集群网络的控制管理与容器服务的灵活访问;Docker集群初始化时配置外部网络的可用IP范围,后台数据库接收参数建立数据表并保存数据,同时在集群主机上初始化路由。Docker集群创建容器后从外部IP池中分配IP下发到主机增加LinuxIptables规则,后台数据库记录内部IP与外部IP映射信息,此时Docker容器可以用该外部IP进行访问。Docker集群销毁容器时在所在主机删除LinuxIptables规则,后台数据库删除此前的内部IP与外部IP映射记录,回收容器的外部IP并重新置为可用待分配状态。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。具体实施方式为能清楚说明本方案的技术特点,下面通过一个具体实施方式,对本方案进行阐述。本方案的一种配置Docker集群容器外部IP的方法,包括如下步骤:1)主机搭建Docker集群环境,配置外部网络的基本信息,后台数据库建立数据表并保存信息,同时Docker主机选取首个外部IP进行路由的创建,数据库记录该外部IP;基本信息包括无类别域间路由选择CIDR段、网关、可用IP段。2)Docker环境创建容器时需要申请外部IP,后台数据库检索数据表分配可用IP;下发该IP及路由信息到容器所在主机添加并执行LinuxIptables规则,此时可用该IP访问容器服务,数据库记录外部IP与内部IP的映射;3)Docker环境销毁容器时需要释放外部IP,通知后台数据库删除外部IP与内部IP的映射记录,将外部IP重置为可用状态;下发该IP到容器所在主机删除对应的LinuxIptables规则。所述的LinuxIptables规则使用NAT表用于转换包的源或目标地址。所述的后台数据库采用Mariadb数据库,后台数据库建立Network、Subnet、IP三张表,其中Network表记录每个网络的基本信息,映射一到多个Subnet表;Subnet表记录每个网络的可用IP段,映射一到多个IP表;IP表记录每个IP及其是否可用的状态。本专利技术并不仅限于上述具体实施方式,本领域普通技术人员在本专利技术的实质范围内做出的变化、改型、添加或替换,也应属于本专利技术的保护范围。本文档来自技高网...

【技术保护点】
一种配置Docker集群容器外部IP的方法,其特征在于包括如下步骤:1)主机搭建Docker集群环境,配置外部网络的基本信息,后台数据库建立数据表并保存信息,同时Docker主机选取首个外部IP进行路由的创建,数据库记录该外部IP;2)Docker环境创建容器时需要申请外部IP,后台数据库检索数据表分配可用IP;下发该IP及路由信息到容器所在主机添加并执行Linux Iptables规则,此时可用该IP访问容器服务,数据库记录外部IP与内部IP的映射;3)Docker环境销毁容器时需要释放外部IP,通知后台数据库删除外部IP与内部IP的映射记录,将外部IP重置为可用状态;下发该IP到容器所在主机删除对应的Linux Iptables规则。

【技术特征摘要】
1.一种配置Docker集群容器外部IP的方法,其特征在于包括如下步骤:1)主机搭建Docker集群环境,配置外部网络的基本信息,后台数据库建立数据表并保存信息,同时Docker主机选取首个外部IP进行路由的创建,数据库记录该外部IP;2)Docker环境创建容器时需要申请外部IP,后台数据库检索数据表分配可用IP;下发该IP及路由信息到容器所在主机添加并执行LinuxIptables规则,此时可用该IP访问容器服务,数据库记录外部IP与内部IP的映射;3)Docker环境销毁容器时需要释放外部IP,通知后台数据库删除外部IP与内部IP的映射记录,将外部IP重置为可用状态;下发该IP到容器所在主机删除对应的LinuxIptables规则。...

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

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

1