SaltStack(3)——SaltStack多节点推送实现haproxy负载均衡集群

本实验是在上一个实验《SaltStack(2)—— SaltStack实现nginx自动编译安装》基础上进行的,已经配置好master及minion的环境,创建好默认数据配置目录,并且编写好了apache和nginx自动安装部署脚本。

上一篇博客链接:https://blog.csdn.net/dghfttgv/article/details/104893330

目录

一、SaltStack多节点推送实现haproxy负载均衡集群

(一)、部署集群

  • 步骤一:创建实验目录
  • 步骤二:编写配置模板
  • 步骤三:编译、测试

(二)、在集群中添加server4后端

  • 步骤一:在server4上部署相关服务
  •          1、在servre4上配置阿里云yum源
  •          2、下载salt-minion 服务
  •          3、在 servre1上将认证
  •          4、在server上安装httpd服务
  •          5、在haproxy值配置文件的模板中添加server4后端主机
  • 步骤二:测试

一、SaltStack多节点推送实现haproxy负载均衡集群

实验环境:

主机名 ip 服务
server1 172.25.6.1 服务端 salt-master
server2 172.25.6.2 客户端 salt-minion
server3 172.25.6.3 客户端 salt-minion
server3 172.25.6.4 客户端 salt-minion(中途添加)

实验

(一)、部署集群

步骤一 :

创建实验目录

[root@server1 salt]# mkdir haproxy         ##创建文件子目录
[root@server1 salt]# 
[root@server1 salt]# cd haproxy/           ##进入实验环境中 
[root@server1 haproxy]# 
[root@server1 haproxy]# vim init.sls       ##编辑sls文件 

haproxy-install:                           ##安装haproxy软件 
  pkg.installed:
    - name: haproxy     

  file.managed:                            ##配置haproxy的主配置模板 
    - name: /etc/haproxy/haproxy.cfg 
    - source: salt://haproxy/haproxy.cfg   ##source源所在的位置     

  service.running:                         ##开启服务
    - name: haproxy
    - enable: True                         ##设置开机自启
    - watch:
      - file: haproxy-install               

步骤二:

编写配置模板

[root@server1 ~]# vim /srv/salt/haproxy/haproxy.cfg      ##编写配置未见模板 

    stats      uri           /status

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

#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend app
    balance     roundrobin
   server server1 172.25.6.1:80 check
   server server3 172.25.6.3:80 check

步骤三:

测试、编译

[root@server3 yum.repos.d]# scp salt-latest.repo  server4:/etc/yum.repos.d/

1、编译:

[root@server3 yum.repos.d]# scp salt-latest.repo  server4:/etc/yum.repos.d/

2、测试

server1[root@server2 ~]# curl server2

(二)、在集群中添加server4

步骤一 :

在server4上安装

1、配置阿里云镜像的网络源

将server3上的阿里云网络源复制至server下

[root@server3 yum.repos.d]# scp salt-latest.repo  server4:/etc/yum.repos.d/

2、下载salt-minion 服务

[root@server4 ~]# yum install salt-minion -y       ##下载salt-minion

[root@server4 ~]# systemctl start salt-minion             ##开启salt-minion服务
[root@server4 ~]# 
[root@server4 ~]# vim /etc/salt/minion                    ##编辑minion主配置文件

...

master: 172.25.6.1                                        ##添加master主机ip 

...


[root@server4 ~]# 
[root@server4 ~]# systemctl restart salt-minion.service   ##重启minon服务 

 

3、在 servre1上将认证

[root@server1 haproxy]# salt-key -A      ##将密钥传给从节点 

4、在server上安装httpd服务

[root@server1 apache]#  salt server4 state.sls apache

5、在haproxy值配置文件的模板中添加server4后端主机

[root@server1 ~]# vim /srv/salt/haproxy/haproxy.cfg      

6、重新编译

[root@server1 haproxy]# salt server2 state.sls haproxy

步骤二:

测试

[root@server2 ~]# curl server2

(server4已经加入了集群 )

在浏览器上 查看:http://172.25.6.2/status

将server1后端宕掉

[root@server1 ~]# systemctl stop httpd     ##关闭server1服务的httpd服务 

在浏览器上的监控画面中看到server1后端已经端开

总结:因为使用salt远程部署haproxy服务,所以在推送的各个从节上都必须安装有salt-minion服务 且必须和master节点相连

(注:在 进行实验部署时保证haproxy主机上的httpd或者nginx服务因为haproxy监听的是80端口如果开启服务会导致haproxy启动失败 !!)

发布了93 篇原创文章 · 获赞 1 · 访问量 1909

猜你喜欢

转载自blog.csdn.net/dghfttgv/article/details/104904874