django + etcd + confd配置管理平台
环境CentOS 6/7 x64
Python:2.7.6
Etcd: 3.2.18
Confd:0.16.0
Nginx: 1.12.1
效果演示
http://i2.运维网.com/images/blog/201806/21/d467aec993a505aa93a7914774415293.gif
一、拓扑图:
http://i2.运维网.com/images/blog/201806/21/d2a21f036335930962ecd4713387497e.png
二、涉及软件
etcd:分布式 KV 存储系统,一般用于共享配置和服务注册和发现。是 CoreOS 公司发起的一个开源项目。ETCD 存储格式类似于文件系统,以根“/”开始下一级目录,最后一个是Key,一个关键对应的一个 Value。
etcd 集群:使用 Raft 协议保证每个节点数据一致,由多个节点对外提供服务。这里只用单台。
confd:管理本地应用配置文件,使用 etcd 或 consul 存储的数据渲染模板,还支持 redis,zookeepe r等 .confd 有一个 watch 功能,通过 HTTP API 定期监测对应的 etcd 中目录变化,获取最新的 Value,然后渲染模板
Nginx: Nginx 是一款轻量级的 Web 服务器/反向代理服务器以及电子邮件代理服务器,并且在一个类似 BSD 的协议下发行。由俄罗斯的程序设计师 lgor Sysoev 所开发,供俄国大型的入口网站及搜索引擎 Rambler 使用。其特点是占用内存少,并发能力强,事实上 nginx的并发能力确实在同类型的网页服务器中表现较好。
三、软件部署
环境说明:建议使用 Cento7.X X64
1)安装 etcd(这里安装的单机,集群环境根据自己的需求选取)
# yum install etcd -y
# sed -i's/localhost/0.0.0.0/g'/etc/etcd/etcd.conf#配置监听地址
# systemctl startetcd&&systemctlenableetcd#启动服务设置开机动
2)安装 nginx
#cd/usr/local/src
#wgethttp://nginx.org/download/nginx-1.12.1.tar.gz
#git clone https://github.com/yaoweibin/nginx_upstream_check_module.git
#tar-zxvfnginx-1.12.1.tar.gz
#cd nginx-1.12.1
#patch-p1
页:
[1]