rhel6.5-saltstack一键部署keepalived+haproxy

一.实验环境

172.15.78.11(server11)
salt-master
172.25.78.12(server12) 、172.25.78.13(server13)
haproxy+keepalived
172.25.78.14(server14) 、172.25.78.15(server15)
apache(web服务)

172.25.78.12、172.25.78.13

172.25.78.14、172.25.78.15

salt-minion

haproxy高可用的整个框架:

rhel6.5-saltstack一键部署keepalived+haproxy_第1张图片

二.salt-master以及salt-minion服务的部署

1.salt-master的安装及配置

rhel6.5-saltstack一键部署keepalived+haproxy_第2张图片

/etc/salt/master   ##salt-master配置文件

rhel6.5-saltstack一键部署keepalived+haproxy_第3张图片

saltstack部署的服务都在这个基础目录下

2.每个salt-minion节点都安装

rhel6.5-saltstack一键部署keepalived+haproxy_第4张图片

/etc/salt/minion   ##salt-minion配置文件

每个节点指定master的主机号


3.在/etc/hosts做本地解析

rhel6.5-saltstack一键部署keepalived+haproxy_第5张图片

4.配置好之后重启服务

5.把salt-minion节点加入salt-master

salt-key  -A    ##全部的节点都加入master

salt-key  -L     ##查看节点

rhel6.5-saltstack一键部署keepalived+haproxy_第6张图片

三.推送keepalived+haproxy服务

1.在/srv/salt/目录下创建目录(haproxy、httpd、keepalived、pkgs)以及文件top.sls

haproxy服务推送目录

httpd服务推送目录

keepalived服务推送目录

pkgs:安装keepalived需要的安装包的目录

tops.sls:同时推送所有服务


2.haproxy服务的推送


(1)haproxy.cfg(haproxy的负载均衡的配置)

rhel6.5-saltstack一键部署keepalived+haproxy_第7张图片

(2)install.sls(haproxy的安装)

rhel6.5-saltstack一键部署keepalived+haproxy_第8张图片

3.httpd服务的推送

(1)httpd服务的安装

rhel6.5-saltstack一键部署keepalived+haproxy_第9张图片

4.keepalived需要的安装包的推送


(1)install.sls(keepalived需要的安装包的安装)

file.managed:       ##文件管理

    - name:      ##指定文件在salt-minion存放的位置
    - source:    ##文件在salt-master存放的位置

cmd.run    ##执行命令

    -name       ##操作的名称

    -creates    ##如果安装包已经创建,就不再安装

rhel6.5-saltstack一键部署keepalived+haproxy_第10张图片

(2)files目录存放安装包


5.keepalived服务的推送

(1)install.sls(keepalived的安装以及配置文件的设置)

keepalived的安装需要一些依赖包(放在pkgs目录下),用keepalived做haproxy的高可用我用的是主备模式,所以有些参数在不同的主机配置不一致,就用到了jinja模版(在keepalived配置文件里设置变量,根据不同的主机号推送不同的参数)

根据grains['fqdn']获取主机号,把server12作为keepalived-master,server13作为keepalived-backup

rhel6.5-saltstack一键部署keepalived+haproxy_第11张图片

(2)service.sls(管理keepalived的服务运行)

rhel6.5-saltstack一键部署keepalived+haproxy_第12张图片

(3)files目录下的文件


haproxy.chk.sh   ##检测haproxy的脚本

rhel6.5-saltstack一键部署keepalived+haproxy_第13张图片

keepalived1        ##keepalived脚本的启动要用

keepalived-1.4.3.tar.gz     ##keepalived的源码包

(4)keepalived.conf      ##keepalived的配置文件

rhel6.5-saltstack一键部署keepalived+haproxy_第14张图片

6.在salt-minion节点设定节点角色


7.在salt-master同步数据,免去了反复重启服务的麻烦

rhel6.5-saltstack一键部署keepalived+haproxy_第15张图片

8.tops.sls    ##同时推送所有的服务

base:        ##指的是salt-master配置文件中的开启的目录,所有的服务都创建在/srv/salt目录下

rhel6.5-saltstack一键部署keepalived+haproxy_第16张图片

根据salt-minion节点的角色来部署服务,也可以根据操作系统等,

rhel6.5-saltstack一键部署keepalived+haproxy_第17张图片

9.推送服务

salt '*' state.highstate     ##'*'匹配所有指向master的主机,可以同时推送不同的服务到不同的主机,也是一键部署的关键

rhel6.5-saltstack一键部署keepalived+haproxy_第18张图片

10.测试

(1)在keepalived-master关闭keepalived,VIP漂移到BACKUP

rhel6.5-saltstack一键部署keepalived+haproxy_第19张图片

(2)VIP成功漂移

rhel6.5-saltstack一键部署keepalived+haproxy_第20张图片

(3)客户端透明,不影响访问

rhel6.5-saltstack一键部署keepalived+haproxy_第21张图片


你可能感兴趣的:(rhel6.5-saltstack一键部署keepalived+haproxy)