saltstack自动化部署haproxy实现nginx的负载均衡

实验环境

准备三台主机

master:  172.25.11.9     server9       rhel6.5    haproxy
minion:  172.25.11.10    server10      rhel6.5    httpd
minion:  172.25.11.8     server8       rhel6.5    nginx

server9:
配置yum源

[salt]
name=saltstack
baseurl=http://172.25.11.250/salt
enabled=1
gpgcheck=0

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.11.250/rhel6.5/LoadBalancer
gpgcheck=0
安装salt-minion
yum install -y salt-minion
vim /etc/salt/minion
master: 172.25.11.9
salt-key -a server9
部署haproxy的安装并开启
haproxy-install:
  pkg.installed:
    - pkgs:
      - haproxy
cd /srv/salt/
mkdir haproxy
cd haproxy/
mkdir files
cd files/
cp /etc/haproxy/haproxy.cfg .

更改haproxy的配置文件,实现高可用

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend  main *:80
    default_backend             app

backend app
    balance     roundrobin
    server  app1 172.25.11.10:80 check
    server  app2 172.25.11.8:80 check

这里写图片描述

vim install.sls
haproxy-install:
  pkg.installed:
    - pkgs:
      - haproxy
  file.managed:
    - name: /etc/haproxy/haproxy.cfg
    - source: salt://haproxy/files/haproxy.cfg

  service.running:
    - name: haproxy
    - reload: True
    - watch:
      - file: haproxy-install
salt server9 state.sls haproxy.install
salt server? test.ping
salt '*' test.ping
salt server* test.ping

这里写图片描述

cd /srv/salt/
vim top.sls
base:
  'server9':
    - haproxy.install
  'server10':
    - httpd.install
  'server8':
    - nginx.service
salt '*' state.highstate  # 高级推送

这里写图片描述
这里写图片描述
这里写图片描述

salt server10 grains.items  # 查看server10的项

这里写图片描述

固定查看某一项
salt server10 grains.item os
salt server10 grains.item ipv4

这里写图片描述
更改master配置文件
这里写图片描述
这里写图片描述

vim top.sls
base:
  'server9':
    - haproxy.install
  'roles:apache':
    - match: grain
    - httpd.install
  'roles:nginx':
    - match: grain
    - nginx.service
salt '*' state.highstate

这里写图片描述
浏览器中查看是否高可用
输入:172.25.11.9
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_38622229/article/details/81781870