#openstack高可用haproxy配置
openstack pike 部署 目錄匯總 http://www.cnblogs.com/elvi/p/7613861.html
#openstack高可用haproxy配置
###########全局配置#########
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
daemon
#nbproc 1 #進程數量
maxconn 4096 #最大連接數
user haproxy #運行用戶
group haproxy #運行組
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
########默認配置############
defaults
log global
mode http #默認模式{ tcp|http|health }
option httplog #日志類別,采用httplog
option dontlognull #不記錄健康檢查日志信息
retries 2 #2次連接失敗不可用
option forwardfor #后端服務獲得真實ip
option httpclose #請求完畢后主動關閉http通道
option abortonclose #服務器負載很高,自動結束比較久的鏈接
maxconn 4096 #最大連接數
timeout connect 5m #連接超時
timeout client 1m #客戶端超時
timeout server 31m #服務器超時
timeout check 10s #心跳檢測超時
balance roundrobin #負載均衡方式,輪詢
########統計頁面配置########
listen stats
bind 0.0.0.0:1080
mode http
option httplog
log 127.0.0.1 local0 err
stats refresh 30s
maxconn 10 #最大連接數
stats uri /admin #狀態頁面 http//ip:1080/admin訪問
stats realm Haproxy\ Statistics
stats auth admin:admin #用戶和密碼:admin
stats hide-version #隱藏版本信息
stats admin if TRUE #設置手工啟動/禁用
########以下為openstack高可用配置############
#dashboard_cluster
listen dashboard_cluster
bind controller:80
balance roundrobin
#balance source
option tcpka
option httpchk
option tcplog
server controller1 controller1:8080 check port 8080 inter 2000 rise 2 fall 5
server controller2 controller2:8080 check port 8080 inter 2000 rise 2 fall 5
server controller3 controller3:8080 check port 8080 inter 2000 rise 2 fall 5
#mariadb_cluster
listen mariadb_cluster
mode tcp
bind controller:3306
balance leastconn
option mysql-check user haproxy
server controller1 controller1:3306 weight 1 check inter 2000 rise 2 fall 5
server controller2 controller2:3306 weight 1 check inter 2000 rise 2 fall 5
server controller3 controller3:3306 weight 1 check inter 2000 rise 2 fall 5
#RabbitMQ_cluster
listen RabbitMQ-Server
bind controller:5673
mode tcp
balance roundrobin
option tcpka
timeout client 30m
timeout server 30m
option clitcpka
server controller1 controller1:5672 check inter 5s rise 2 fall 3
server controller2 controller2:5672 check inter 5s rise 2 fall 3
server controller3 controller3:5672 check inter 5s rise 2 fall 3
#RabbitMQ
listen RabbitMQ-Web
bind controller:15673
balance roundrobin
mode tcp
option tcpka
server controller1 controller1:15672 check inter 5s rise 2 fall 3
server controller2 controller2:15672 check inter 5s rise 2 fall 3
server controller3 controller3:15672 check inter 5s rise 2 fall 3
#
#keystone
listen keystone_admin_cluster
bind controller:35357
#balance source
option tcpka
option httpchk
option tcplog
server controller1 controller1:35356 check inter 2000 rise 2 fall 5
server controller2 controller2:35356 check inter 2000 rise 2 fall 5
server controller3 controller3:35356 check inter 2000 rise 2 fall 5
listen keystone_public_cluster
bind controller:5000
#balance source
option tcpka
option httpchk
option tcplog
server controller1 controller1:4999 check inter 2000 rise 2 fall 5
server controller2 controller2:4999 check inter 2000 rise 2 fall 5
server controller3 controller3:4999 check inter 2000 rise 2 fall 5
#glance_api_cluster
listen glance_api_cluster
bind controller:9292
#balance source
option tcpka
option httpchk
option tcplog
server controller1 controller1:9292 check inter 2000 rise 2 fall 5
server controller2 controller2:9292 check inter 2000 rise 2 fall 5
server controller3 controller3:9292 check inter 2000 rise 2 fall 5
#
listen glance_registry_cluster
bind controller:9191
balance source
option tcpka
option tcplog
server controller1 controller1:9191 check inter 2000 rise 2 fall 5
server controller2 controller2:9191 check inter 2000 rise 2 fall 5
server controller3 controller3:9191 check inter 2000 rise 2 fall 5
##nova_compute
listen nova_compute_api_cluster
bind controller:8774
#balance source
option tcpka
option httpchk
option tcplog
server controller1 controller1:8774 check inter 2000 rise 2 fall 5
server controller2 controller2:8774 check inter 2000 rise 2 fall 5
server controller3 controller3:8774 check inter 2000 rise 2 fall 5
#Nova-api-metadata
listen Nova-api-metadata_cluster
bind controller:8775
balance source
option tcpka
option httpchk
option tcplog
server controller1 controller1:8775 check inter 2000 rise 2 fall 5
server controller2 controller2:8775 check inter 2000 rise 2 fall 5
server controller3 controller3:8775 check inter 2000 rise 2 fall 5
#nova_placement
listen nova_placement_cluster
bind controller:8778
#balance source
option tcpka
option tcplog
server controller1 controller1:9778 check inter 2000 rise 2 fall 5
server controller2 controller2:9778 check inter 2000 rise 2 fall 5
server controller3 controller3:9778 check inter 2000 rise 2 fall 5
#nova_vncproxy
listen nova_vncproxy_cluster
bind controller:6080
#balance source
option tcpka
option tcplog
server controller1 controller1:6080 check inter 2000 rise 2 fall 5
server controller2 controller2:6080 check inter 2000 rise 2 fall 5
server controller3 controller3:6080 check inter 2000 rise 2 fall 5
#Neutron_API
listen Neutron_API_cluster
bind controller:9696
#balance source
option tcpka
option tcplog
server controller1 controller1:9696 check inter 2000 rise 2 fall 5
server controller2 controller2:9696 check inter 2000 rise 2 fall 5
server controller3 controller3:9696 check inter 2000 rise 2 fall 5
#Cinder_API_cluster
listen Cinder_API_cluster
bind controller:8776
#balance source
option tcpka
option httpchk
option tcplog
server controller1 controller1:8776 check inter 2000 rise 2 fall 5
server controller2 controller2:8776 check inter 2000 rise 2 fall 5
server controller3 controller3:8776 check inter 2000 rise 2 fall 5
#