[发明专利]一种基于自动初始化的主机容器自动发现方法有效
申请号: | 201911174006.X | 申请日: | 2019-11-26 |
公开(公告)号: | CN111124601B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 陈旋;吕成云;朱召文 | 申请(专利权)人: | 江苏艾佳家居用品有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 南京新慧恒诚知识产权代理有限公司 32424 | 代理人: | 邓唯 |
地址: | 211100 江苏省南京市江宁区*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 自动 初始化 主机 容器 发现 方法 | ||
本发明公开了一种基于自动初始化的主机容器自动发现方法,涉及主机容器自动初始化技术领域,基于docker和机器自动初始化,完成服务容器的自动发现和注册,并且让外部调用可以直接从调用服务,并在服务扩容之后不需要额外的nginx修改。减少nginx的配置工作,不需要人为去对upstream进行配置,减少出错率;只需要关心nginx业务层面的location配置;有效的分离内外部访问访问限制,只允许外部访问的在zookeeper上进行限制,只允许内部访问的在nginx上进行接口层级的限制。
技术领域
本发明属于分布式容器服务自动发现方法技术领域,尤其涉及一种基于自动初始化的主机容器自动发现方法。
背景技术
automatic initialization(以下称为自动初始化)是一种为了让全新的空闲服务器根据用途安装所需要的最少基础依赖服务和进行自动分区的技术。自动初始化会根据客户对当前机器的规划不同,先获取所需要安装的服务和分配所需要的磁盘,并在机器上进行自动安装。这过程通常分为三步:确认服务器用途,获取服务器所需的最少基础依赖服务和磁盘分区,然后对服务器进行服务安装和磁盘分区。
主机无状态容器是指把容器部署在主机上,然后利用端口暴露的方式使其他地方服务可以从外部访问到容器中的服务,利用本机安装fannel,calico可以使多个主机之间容器可以互相访问,一些必要的日志可以挂载存储在主机上,然后通过日志手机工具如splunk,elk等进行日志收集。
现有的服务大都基于ip端口请求来完成,服务依赖各种基础服务,初始化过于麻烦,而利用docker可以解决服务依赖的问题,但是docker的扩展性和容器节点失效漂移不确定性又会使得扩容和水平扩展之后的前端nginx upstream代理产生问题。
发明内容
本发明所要解决的技术问题在于克服现有技术的缺点与不足提供一种基于自动初始化的主机容器自动发现方法,基于docker和机器自动初始化,完成服务容器的自动发现和注册,并且让外部调用可以直接从调用服务,并在服务扩容之后不需要额外的nginx修改。
本发明为解决上述技术问题采用以下技术方案:
一种基于自动初始化的主机容器自动发现方法,具体包含如下步骤:
步骤1,搭建nginx并且编译加入nginx_upstream_check_module模块和nginx-upsync-module模块,设置服务的upstream选项;
步骤2,搭建consul,镜像启动,若在docker集群内部搭建consul,则通过cluster_name进行访问;若在集群外部搭建consul,则通过域名访问;
步骤3,安装docker和fannel,利用本地文件yum安装,设置私有镜像库,搭建docker私有镜像库registry,镜像启动;
步骤4,制作服务镜像,在服务启动脚本中先获取到服务的宿主机地址和启动端口,在服务启动时,加入curl -X PUT端口,把服务的IP+端口注册到consul上,提供给步骤1中的nginx做upstream;
步骤5,将步骤4中制作的服务镜像上传到私有镜像库,发布到docker主机上;
步骤6,主机容器启动后,容器内启动的服务一时间自动注册到consul和zookeeper上,nginx获取consul相关信息做反向代理可直接访问主机容器服务,并通过location限制不允许外部访问的接口,然后服务内部互相调用时读取zookeeper上对应服务所在地址的ip端口进行对应服务的调用;
步骤7,编写定时清理脚本,根据自身需求,每隔一定时间对注册到consul上的服务进行接口层面的检活,若不通时,则使用curl-X DELETE端口删除不通的服务,进而减少nginx的轮询时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏艾佳家居用品有限公司,未经江苏艾佳家居用品有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911174006.X/2.html,转载请声明来源钻瓜专利网。