上一篇已经安装并配置了ETCD集群。

一、介绍

confd is a lightweight configuration management tool focused on:

keeping local configuration files up-to-date using data stored in etcd, consul, dynamodb, redis, vault, zookeeper or env vars and processing template resources.

reloading applications to pick up new config file changes

二、安装

采用二进制安装,下载二进制文件

wget https://github.com/kelseyhightower/confd/releases/download/v0.13.0/confd-0.13.0-linux-amd64

添加执行权限,并移动到/usr/local/bin目录下

chmod +x confd-0.13.0-linux-amd64

mv confd-0.13.0-linux-amd64 /usr/local/bin/confd

三、配置

在ETCD集群添加相应KEY

etcdctl set /dev/nginxdev zmz

etcdctl set /dev/upstream/app1 "10.10.149.229:80"

etcdctl set /dev/upstream/app2 "10.10.152.165:80"

Create conf、templates directory

mkdir /etc/confd/{conf.d,templates}

Create template resources

[template]

src = "nginx.tmpl"

dest = "/etc/nginx/conf.d/zmz.conf"

owner = "root"

mode = "0644"

keys = [

"/dev/nginxdev",

"/dev/upstream",

]

check_cmd = "nginx -t -c {{ .src }}"

reload_cmd = "systemctl reload nginx"

Create the source template

upstream {{getv "/dev/nginxdev"}} {

{{range getvs "/dev/upstream/*"}}

server {{.}};

{{end}}

}

server {

server_name {{getv "/dev/nginxdev"}}.example.com;

location / {

proxy_pass http://{{getv "/dev/nginxdev"}};

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

Create confd boot files

backend = "etcd"

confdir = "/etc/confd"

log-level = "debug"

interval = 60

nodes = [

"http://10.10.149.229:4001",

"http://10.10.152.165:4001",

"http://10.10.160.64:4001",

]

noop = false

#prefix = "/production"

四、启动confd 并验证

启动

查看配置文件

五、参考文档

etcd nginx 容器_Etcd+confd实现动态修改nginx文件相关推荐

  1. etcd nginx 容器_Etcd+Confd实现Nginx配置文件自动管理

    一.需求 我们使用Nginx做七层负载均衡,后端是Tomcat.项目采用灰度发布方式,每次项目升级,都要手动先从Nginx下摘掉一组,然后再升级这组,当项目快速迭代时,手动做这些操作显然会增加部署时间 ...

  2. Android 编译期间 动态修改AndroidMainFest文件

    背景: 有时间有些需求,需要我们动态的修改AndroidMainFest文件,比如我想把应用所有的横屏改成竖屏.如果用手动替换搜索也可以,但是就会有一个问题就是,和其他分支合并的时候,容易产生冲突. ...

  3. maven 根据P参数值打包动态修改properties文件中值或一定properties

     http://www.tuicool.com/articles/Mj2EzqN 由于本人 最近忙着公司事情,昨天没有写博客,今天就继续写吧 需求:由于最近开发clover项目 ,没有使用spri ...

  4. android动态更新配置文件,Android如何动态修改Manifest文件

    修改manifest文件Android Manifest.xml,添加相应的声明.在这里,我们需要将新定义的活动PrefsActivity注册到manifest文件. 同前面一样,在Eclipse中打 ...

  5. Android运行时修改Manifest,Android如何动态修改Manifest文件

    慕妹3242003 修改manifest文件Android Manifest.xml,添加相应的声明.在这里,我们需要将新定义的活动PrefsActivity注册到manifest文件.同前面一样,在 ...

  6. android 动态修改资源,Android如何动态修改Manifest文件

    修改manifest文件Android Manifest.xml,添加相应的声明.在这里,我们需要将新定义的活动PrefsActivity注册到manifest文件. 同前面一样,在Eclipse中打 ...

  7. 使用ICON动态修改exe文件图标

    前言:这两天为exe文件做一个随机图标的功能,要求每次运行后图标都动态改变,在网上找了很多代码,都有一部分缺陷,参考了一些文档后进行了修改,现在在此进行总结: 一个icon资源(可以是*.ico文件, ...

  8. docker安装nginx容器小记

    前言: 使用docker安装了nginx容器,很久才成功跑起来,对安装过程做下记录 linux系统:centos7.4 docker安装不阐述,直接记录安装创建nginx容器的过程 1. 拉取ngin ...

  9. docker创建nginx容器

    创建nginx容器 需要同时提供配置文件和网页文件 实例: [root@localhost ~]# docker run -it --name html -v /var/www/html/:/usr/ ...

最新文章

  1. SQL的OPENROWSET开启和使用方法
  2. 计算机编码发明者,“自然码”的发明者周志农在从计算机*毕业后的,才有了第一只...
  3. java由大到小输出整数xvz_【视频+图文】Java经典基础练习题(三):输入3个整数,并将其由小到大输出...
  4. _M_invoke(_Index_tuple_Indices...)
  5. java 通用对象_java中对所有对象都通用的方法
  6. 云服务的可服务性经典6问
  7. Surface Pro电磁笔故障
  8. vs2013 mfc资源在另一个编辑器中打开
  9. 软件测试面试题整理(六)之app测试篇
  10. 自动控制原理 卢京潮第二版 课后答案 免费PDF
  11. opencv快速下载
  12. java里的文件显示繁体_java保存繁体网页打开后出现乱码
  13. yarn的安装和使用
  14. 百度世界大会全新打开方式!VR会场“希壤”上线
  15. web程序设计(9)——编写阅读器(JQuery基础)
  16. 网络维护类岗位做什么?
  17. python matplotlib searbon 设置画版颜色 热力图固定颜色等级 固定比例尺寸大小
  18. 京东第二轮裁员来袭,套路满满:假装劝退,劝员工找工作,贬低工作能力,忽悠员工不走仲裁!...
  19. vue 数字变动动画实现
  20. 合并两个有序链表(java算法)

热门文章

  1. python encode函数_关于字符串:在python中使用unicode()和encode()函数
  2. git为私有仓库设置密码_Jenkins与Git最佳实践-1
  3. attention 汇总(持续)
  4. Ubuntu终端常用的快捷键,光标移动到开始位置
  5. Linux上安装Hadoop集群(CentOS7+hadoop-2.8.3)
  6. Java接口和Java抽象类(转,原文已被删除)
  7. 使用 rem 设置文字大小(文字响应式)
  8. 查看oracle执行计划
  9. MFC 视频播放器实现局部放大功能
  10. 中文 哈工大_第六届中文语法错误诊断大赛,哈工大讯飞联合实验室再获多项冠军...