Consul-template 是 HashiCorp 基于 Consul 所提供的可扩展的工具,通过监听 Consul中的数据变化,动态地修改一些配置文件中地模板。常用于在 Nginx、HAProxy上动态配置健康状态下的客户端反向代理信息。Consul-template 和 nginx 必须安装在同一台机器上,因为 Consul-template 需要动态修改 nginx 的配置文件 nginx.conf,...
2、consul-template的Config功能实时监控Consul集群的节点 3、实时的把consul节点的信息替换到Nginx配置文件、重新加载配置文件 四、配置步骤 第一步:搭建consul集群 第二步:部署服务consul客户端(consul + webServer)使用config指定服务IP & Port 第三步:部署Nginx 第四步:搭建consul-template监听consul客户端的config文...
consul https://www.consul.io/downloads.html consul_1.0.7_linux_amd64.zip consul-template https://releases.hashicorp.com/consul-template/ consul-template_0.19.4_linux_amd64.zip nginx http://nginx.org/en/download.html nginx-1.12.2.tar.g 服务器运行环境: IP 功能 系统 192.168.188.143 consul-...
准备一个脚本文件,当consul-template从consul中获取到数据的更新后,触发该脚本运行nginx_operator.sh,实现reloadnginx的配置文件。 #!/bin/shdocker ps -aq --filter"name=nginx"if[ $? -ne 0 ];thenecho"Starting Nginx Server..."docker run -d --name nginx --restart=always -p 80:80 -v /tmp/ngi...
1.1. Nginx 一个高性能的 和反向代理服务器,用于前端访问流量到后台应用服务器负载均衡和请求转发。 1.2. Consul-template 是 基于 所提供的可扩展的工具,通过监听 中的数据变化,动态地修改一些配置文件中地模板。常用于在 、 上动态配置健康状态下的客户端反向代理信息。
version:'3.3'networks:nginx-consul-template:services:user-api-1:build: ./user-api-1container_name: user-api-1environment:PORT:"8001"ports:- 8001:8001depends_on:- consulnetworks:- nginx-consul-templateuser-api-2:build: ./user-api-2container_name: user-api-2environment:PORT:"8002"ports:- ...
通过Consul+Consul-template方式,每次发现配置变更都需要reload nginx,而reload是有一定损耗的。而且,如果你需要长连接支持的话,那么当reloadnginx时长连接所在worker进程会进行优雅退出,并当该worker进程上的所有连接都释放时,进程才真正退出(表现为worker进程处于worker process is shutting down)。因此,如果能做到不reload...
Docker-compose部署【Consul集群】服务自动发现+nginx+consul-template(实现nginx反向代理地址的自动更新) 一、Consul概述 1、背景 consul是HashCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案相比,consul的方案是“一站式”,内置了服务注册与发现框架、分布式一致性协议实现...
consul-template 是 Consul 的一个守护程序,使用 consul-template 可以方便快速的实现对 Consul Key/Value 存储系统的访问,可以从 KV 系统中读取数据、监视变动、同步本地文件;还可以在执行模板更新的同时,执行本地系统命令,比如常见的就是在同步数据到本地模板文件后,生成 Nginx 配置文件,并执行 nginx -s reload ...
Consul具备简单运维、完善功能和集成支持,Raft算法确保一致性,Gossip协议实现监控和事件通知。部署过程包括使用docker-compose一键部署集群,通过http API获取集群信息,扩展ACL访问控制。实现容器服务自动加入nginx集群,通过gliderlabs/registrator进行。部署consul-template自动更新nginx集群,实现服务发现及配置文件...