• Openstack 集群,及常用服务的 高可用 haproxy配置


    一、介绍

      配置文件位置(yum 安装):/etc/haproxy/haproxy.cfg

      全局配置  

    #---------------------------------------------------------------------
    # Global settings
    #---------------------------------------------------------------------
    global
        log         127.0.0.1 local2
    
        chroot      /var/lib/haproxy
        pidfile     /var/run/haproxy.pid
        maxconn     4000
        user        haproxy
        group       haproxy
        daemon
        stats socket /var/lib/haproxy/stats
    

      默认配置  

    #---------------------------------------------------------------------
    # common defaults that all the 'listen' and 'backend' sections will
    # use if not designated in their block
    #---------------------------------------------------------------------
    defaults
        mode                    http
        log                     global
        option                  httplog
        option                  dontlognull
        option forwardfor
        option                  redispatch
        retries                 3
        timeout http-request    10s
        timeout queue           1m
        timeout connect         10s
        timeout client          1m
        timeout server          1m
        timeout http-keep-alive 10s
        timeout check           10s
        maxconn                 3000
    

      配置haproxy 的统计页面  

    #---------------------------------------------------------------------
    # tong ji ye mian pei zhi
    #---------------------------------------------------------------------
        listen stats
        bind 10.6.32.200:1080
        mode http
        option httplog
        log 127.0.0.1 local0 err
        stats refresh 30s
        maxconn 10
        stats uri /admin
        stats realm Haproxy Statistics
        stats auth admin:admin    #web登录的账号密码
        stats hide-version
        stats admin if TRUE

        在浏览器中访问:http://10.6.32.200:1080/admin

        

    1、httpd 服务  

    #---------------------------------------------------------------------
    # listen httpd server
    #---------------------------------------------------------------------
        listen httpd_cluster
        bind 10.6.32.200:80
        balance  roundrobin
        option  tcpka
        option  httpchk
        option  tcplog
        server controller1 controller1:80 check port 80 inter 2000 rise 2 fall 5
        server controller2 controller2:80 check port 80 inter 2000 rise 2 fall 5
        server controller3 controller3:80 check port 80 inter 2000 rise 2 fall 5

    2、mysql 服务  

    #---------------------------------------------------------------------
    # listen Mysql-db server
    #---------------------------------------------------------------------
    listen mysql_cluster
        mode tcp
        bind 10.6.32.200:3306
        balance source
        option mysql-check user haproxy     # 需要在数据库中创建没有密码的 haproxy用户,不需要有任何权限,详情查看博客:Mysql 5.7 弱密码限制,及创建用户无密码用户
        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

    3、 keystone-admin API  

    #---------------------------------------------------------------------
    # listen keystone-admin server
    #---------------------------------------------------------------------
    listen keystone_admin
        bind 10.6.32.200:35357
        balance source
        option  tcpka
        option  httpchk
        option  tcplog
        http-request del-header X-Forwarded-Proto if { ssl_fc }
        server controller1 10.6.32.51:35357 check inter 2000 rise 2 fall 5
        server controller2 10.6.32.52:35357 check inter 2000 rise 2 fall 5
        server controller3 10.6.32.53:35357 check inter 2000 rise 2 fall 5
    

      

    4、keystone-public 和 keystone-internal  API

    #---------------------------------------------------------------------
    # listen keystone-public and  keystone-internal server
    #---------------------------------------------------------------------
    listen keystone_pub_int
        bind 10.6.32.200:5000    #需要将haproxy 默认自带的 frontend  main *:5000 区块注释掉,有端口冲突
        balance source
        option  tcpka
        option  httpchk
        option  tcplog
        http-request del-header X-Forwarded-Proto if { ssl_fc }
        server controller1 controller1:5000 check inter 2000 rise 2 fall 5
        server controller2 controller2:5000 check inter 2000 rise 2 fall 5
        server controller3 controller3:5000 check inter 2000 rise 2 fall 5
    

    5、Glance-api server

    #---------------------------------------------------------------------
    # listen glance-admin,glance-public,glance-internal server
    #---------------------------------------------------------------------
    listen glance-api
      bind 10.6.32.200:9292
      balance source
      option  tcpka
      option  httpchk
      option  tcplog
      server controller1 10.6.32.51:9292 check inter 2000 rise 2 fall 5
      server controller2 10.6.32.52:9292 check inter 2000 rise 2 fall 5
      server controller3 10.6.32.53:9292 check inter 2000 rise 2 fall 5
    

    6、Glance-registery server

    #---------------------------------------------------------------------
    # listen glance-registery server
    #---------------------------------------------------------------------
    listen glance-registery
      bind 10.6.32.200:9191
      balance source
      option  tcpka
      option  tcplog
      server controller1 10.6.32.51:9191 check inter 2000 rise 2 fall 5
      server controller2 10.6.32.52:9191 check inter 2000 rise 2 fall 5
      server controller3 10.6.32.53:9191 check inter 2000 rise 2 fall 5
    

    7、rabbitmq-web 

    #---------------------------------------------------------------------
    # listen Rabbitmq-web server
    #---------------------------------------------------------------------
    listen rabbitmq-web
      mode tcp
      bind 10.6.32.200:15671
      balance roundrobin
      server controller1 10.6.32.51:15672 check inter 2000 rise 2 fall 5
      server controller2 10.6.32.52:15672 check inter 2000 rise 2 fall 5
      server controller3 10.6.32.53:15672 check inter 2000 rise 2 fall 5
    

    8、nova-api  server

    #---------------------------------------------------------------------
    # listen nova-api server
    #---------------------------------------------------------------------
    listen nova-api
        bind 10.6.32.200:8774
        balance source
        option  tcpka
        option  httpchk
        option  tcplog
        http-request del-header X-Forwarded-Proto if { ssl_fc }
        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
    

      

    9、nova novncproxy server  

    #---------------------------------------------------------------------
    # listen nova-novncproxy server
    #---------------------------------------------------------------------
    listen nova_novncproxy
        bind 10.6.32.200:6080
        balance source
        option  tcpka
        option  tcplog
        http-request del-header X-Forwarded-Proto if { ssl_fc }
        http-request set-header X-Forwarded-Proto https if { ssl_fc }
        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
    

    10、nova-placement-api  server

    #---------------------------------------------------------------------
    # listen nova-placement public、internal、admin server
    #---------------------------------------------------------------------
    listen nova_placement-api
        bind 10.6.32.200:8778
        balance source
        option  tcpka
        option  tcplog
        http-request del-header X-Forwarded-Proto if { ssl_fc }
        server controller1 controller1:8778 check inter 2000 rise 2 fall 5
        server controller2 controller2:8778 check inter 2000 rise 2 fall 5
        server controller3 controller3:8778 check inter 2000 rise 2 fall 5
    

    11、neutron server

    #---------------------------------------------------------------------
    # listen neutron server
    #---------------------------------------------------------------------
    listen neutron
      bind 10.6.32.200: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
    

    12、 memcache server

    #---------------------------------------------------------------------
    # listen memcached server
    #---------------------------------------------------------------------
    listen memcache
        mode tcp
        bind 10.6.32.200:11211
        balance static-rr
        server controller1 controller1:11211 weight 1 check inter 2000 rise 2 fall 5
        server controller2 controller2:11211 weight 10 check inter 2000 rise 2 fall 5
        server controller3 controller3:11211 weight 20 check inter 2000 rise 2 fall 5
    

     

    13、cinder server

    #---------------------------------------------------------------------
    # listen cinder_api server
    #---------------------------------------------------------------------
    listen cinder_api
      bind 10.6.32.200:8776
      balance source
      option  tcpka
      option  tcplog
      http-request del-header X-Forwarded-Proto if { ssl_fc }
      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
    

      

     

      

      

     

    IT运维开发路上的点点滴滴。。。
  • 相关阅读:
    vnode之update 还是没太懂
    vnodec创建之标签
    1054 求平均值
    1053 住房空置率
    1052 卖个萌
    1051 复数乘法
    1050 螺旋矩阵
    1049 数列的片段和
    1048 数字加密
    1047 编程团体赛
  • 原文地址:https://www.cnblogs.com/weijie0717/p/8530102.html
Copyright © 2020-2023  润新知