os: ubuntu 16.04
postgresql: 9.6.9
etcd: 3.2.18
patroni: 1.4.4
haproxy: 1.6.3
ip规划
192.168.56.101 node1 master
192.168.56.102 node2 slave
192.168.56.103 node3 slave
192.168.56.104 node4 slave
192.168.56.105 node5 slave
192.168.56.201 haproxy1
在 etcd+patroni 前加一层 haproxy,让 haproxy 判断 master/slave。不使用 patroni 的 callback 进行 master vip 的卸载与绑定。
本篇blog介绍的是单点 haproxy,下一篇blog对 haproxy 做 ha。
安装haproxy
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
# apt install haproxy
# dpkg -L haproxy
关键的几个文件
/etc/logrotate.d/haproxy
/etc/rsyslog.d/49-haproxy.conf
/etc/init.d/h