一、docker consul概述
容器服务更新与发现:先发现再更新,发现的是后端节点上容器的变化(registrator),更新的是nginx配置文件(agent)
registrator:是consul安插在docker容器里的眼线,用于监听监控节点上容器的变化(增加或减少,或者宕机),一旦有变化会把这些信息告诉并注册在consul server端(使用回调和协程的方式,所以它的延迟和资源消耗会很少),consul server发生一旦发生注册列表的变化后,会把注册的信息告诉agent
agent(代理):用来控制consul template模板,用template组件去和nginx.conf来进行对接,模板里全是变量,用变量的方式去加载后端由注册到consul server端之后,server端会把信息告诉agent,agent和template进行对接,写入template,template就有了镜像,更新完之后会作为nginx.conf子配置文件被前端的nginx识别,consul agent会控制reload之后会识别nginx.conf配置文件中的变化,相当于识别后端的节点,就可以在地址池中动态调整自己后端资源。
consul的特性
支持健康检查、允许存储键值对 基于golong语言,可移植性强 支持acl访问控制二、基于 nginx 与 consul 构建自动发现即高可用的 docker 服务架构
1.项目需求
使用 docker 将 consul、consul template、registrator 与 nginx 组成一个值得新人且可扩展的服务架构 在这个架构中添加或移除服务时,不需要重写任何配置,也不需要重启任何服务,一切都能够正常运行,以实现自动化运维2.环境准备
主机 ip 地址 需要安装的软件 主节点 192.168.126.11 docker-ce、consul、consul-template、nginx nginx 192.168.126.12 doker-ce3.部署步骤
①在主节点上部署consul
参数详解
②nginx 服务器连接 consul 并创建 nginx 容器服务
③consul 群集添加 consul-template 以实现容器自动加入
consul-template是一个守护进程,用于实时查询consul集群信息,并更新文件系统上任意数量的指定模板,生成配置文件,更新完成以后,可以查询consul中的服务目录,key、key-values等
④新增一个 nginx 容器节点以测试自动更新
⑤测试访问代理服务器 是否可以完成代理访问轮询
⑥consul 多节点配置
到此这篇关于docker-consul概述以及集群环境搭建步骤(图文详解)的文章就介绍到这了,更多相关docker-consul 集群环境搭建内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_53560205/article/details/121738920