博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
etcd+confd管理nginx
阅读量:6554 次
发布时间:2019-06-24

本文共 2454 字,大约阅读时间需要 8 分钟。

1.安装

wget https://github.com/etcd-io/etcd/releases/download/v3.3.12/etcd-v3.3.12-linux-amd64.tar.gz

tar zxvf etcd-v3.3.12-linux-amd64.tar.gz

cd etcd-v3.3.12-linux-amd64

cp etcd etcdctl /usr/bin/

 

2.配置

vi /usr/lib/systemd/system/etcd.service

[Unit]

Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]

Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
User=etcd
# set GOMAXPROCS to number of processors
ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\""
Restart=on-failure
LimitNOFILE=65536

[Install]

WantedBy=multi-user.target

 

vi  /etc/etcd/etcd.conf

#[Member]

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"
ETCD_NAME="node1"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.56.14:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.56.14:2379,http://192.168.56.14:4001"
ETCD_INITIAL_CLUSTER="master=http://192.168.56.11:2380,node1=http://192.168.56.14:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

 

3.启动服务并测试

systemctl restart etcd

systemctl status etcd

etcdctl member list   #查看状态

etcdctl  set  hello  aaa   #设置测试值

到另外一台节点 etcdctl get hello  能看到值即可

4.confd配置

vi /etc/confd/conf.d/app01.conf.toml

[template]

# 默认在/etc/confd/templates目录下
src = "app01.conf.tmpl"
# 要更新的配置文件
dest = "/usr/local/nginx/conf/vhost/app01.conf"
keys = [
"/nginx/www/"
]
# 最后执行的命令
reload_cmd ="echo test"

 

vi /etc/confd/templates/app01.conf.tmpl

upstream www.{

{getv "/nginx/www/server_name"}} {
{
{range getvs "/nginx/www/upstream/*"}}
server {
{.}};
{
{end}}
}

server {

server_name www.{
{getv "/nginx/www/server_name"}};
location / {
proxy_pass http://www.{
{getv "/nginx/www/server_name"}};
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;
}
}

5.在etcd上设置key

etcdctl -C http://192.168.56.11:2379 set /nginx/www/server_name   123.com

etcdctl -C http://192.168.56.11:2379 set /nginx/www/upstream/server01 “192.168.1.10:80”

etcdctl -C http://192.168.56.11:2379 set /nginx/www/upstream/server02 “192.168.1.11:80”

 

6.启动confd

confd -watch -backend etcd -node http://192.168.56.11:2379

 

转载于:https://www.cnblogs.com/liumj0305/p/10731464.html

你可能感兴趣的文章
putty、xshell的密钥认证
查看>>
Jenkins+git+tomcat 自动化持续部署
查看>>
项目log日志打印
查看>>
Openstack的环境的Mitaka部署环境服务,实例(1)
查看>>
Redis总结(七)Redis运维常用命令
查看>>
常用shell
查看>>
文档的压缩与打包
查看>>
python3 在不同操作系统安装第三方库方法
查看>>
redhat5.8+mfs(提供软件包文档)
查看>>
python编写登录接口
查看>>
MySQL高可用方案之多级复制
查看>>
OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)
查看>>
Python火车票代码
查看>>
Android开发者指南(7) —— App Install Location
查看>>
Trafficserver Cluster模式
查看>>
亚马逊推出 Blox,用于 EC2 容器服务的开源工具集合
查看>>
SSDB 数据库的图形界面管理工具发布了!
查看>>
Linux:在中国没有真正的新闻
查看>>
西部数据(WD)固件级数据恢复案例
查看>>
我的友情链接
查看>>