Saltstack配置管理-业务引用haproxy

[root@linux-node1 ~]# mkdir /srv/salt/prod/cluster/files -p

[root@linux-node1 ~]# cd /srv/salt/prod/cluster/files

[root@linux-node1 files]# ls

haproxy-outside.cfg

[root@linux-node1 files]# cat /srv/salt/prod/cluster/files/haproxy-outside.cfg             ==============================================>haproxy的配置文件

global

maxconn 100000

chroot /usr/local/haproxy

uid 99  

gid 99 

daemon

nbproc 1 

pidfile /usr/local/haproxy/logs/haproxy.pid 

log 127.0.0.1 local3 info


defaults

option http-keep-alive

maxconn 100000

mode http

timeout connect 5000ms

timeout client  50000ms

timeout server 50000ms


listen stats

mode http

bind 0.0.0.0:8888

stats enable

stats uri     /haproxy-status 

stats auth    haproxy:saltstack


frontend frontend_www_example_com

bind 10.0.0.11:80

mode http

option httplog

log global

    default_backend backend_www_example_com


backend backend_www_example_com

option forwardfor header X-REAL-IP

option httpchk HEAD / HTTP/1.0

balance source                     =========>如果想要轮训则改为roundrobin

server web-node1  10.0.0.7:8080 check inter 2000 rise 30 fall 15

server web-node2  10.0.0.8:8080 check inter 2000 rise 30 fall 15



[root@linux-node1 cluster]# cat /srv/salt/prod/cluster/haproxy-outside.sls              =====================>业务引用haproxy的文件

include:                        

  - haproxy.install                 ###################先包含安装####################


haproxy-service:                    ######################申明id######################

  file.managed:                     ####################文件管理模块及方法#############

    - name: /etc/haproxy/haproxy.cfg     ###########指定haproxy的配置文件##############

    - source: salt://cluster/files/haproxy-outside.cfg    #####salt中的配置文件#########

    - user: root

    - group: root

    - mode: 644

  service.running:                   #################模块和方法############              

    - name: haproxy                  ##################名称#################

    - enable: True                   ###############开机自动启动###########

    - reload: True                   ###############是否允许重载###########

    - require:                       

      - cmd: haproxy-init            ###########依赖某个脚本#############

    - watch:                         ########监控haproxy-service的file状态############# 

      - file: haproxy-service        ########监控haproxy-service的file状态#############


haproxy项目中的top file文件

[root@linux-node1 files]# cat /srv/salt/base/top.sls 

base:

  '*':

    - init.env_init


prod:

  'linux-node1.example.com':

    - cluster.haproxy-outside

  'linux-node2.example.com':

    - cluster.haproxy-outside


[root@linux-node1 files]# salt '*' state.highstate                       ###############高级状态下执行文件###########################


检测是否成功:在浏览器输入

http://10.0.0.7:8888/haproxy-status

http://10.0.0.8:8888/haproxy-status

用户名:haproxy         密码:saltstack

如果能显示haproxy页面即可


老男孩网址:http://www.etiantian.org

qq:406564728

欢迎交流

你可能感兴趣的:(haproxy,saltstack, )