利用saltstack部署高可用集群及负载均衡(keepalived+haproxy+nginx)
2017-10-20 00:28
639 查看
一、实验环境
keepalived,haproxy
server2:172.25.9.12
server5:172.25.9.15
nginx
server3:172.25.9.13
server4:172.25.9.14
salt-master:server1 172.25.9.11
salt-minion:server2,server3,server4,server5
二、安装配置salt-master,salt-minion
1.下载saltstack所需的安装包,将所有下载的安装包放在/root/rhel/目录下
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/fdb1abbff27f949efaf08a0ab0e6b844)
2.配置yum源
vim /etc/yum.repos.d/rhel-source.repo
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/8f31d851b489fa7a7385ca49481bc1ff)
3.salt-master安装配置
yum install -y salt-master
修改master配置文件
vim /etc/salt/master
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/efe256baf13dec49886dd5b1f9402df6)
启动salt-master:/etc/init.d/salt-master start
4.salt-minion安装配置
yum install -y salt-minion
修改minion配置文件
vim /etc/salt/minion
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/2efdd27a3ba38efa5b6219dd1fd1cbfd)
启动salt-minion:/etc/init.d/salt-minion start
5.在master端执行salt-key
salt-key -A ##受所有 Unaccepted Keys 状态的minion的认证信息
salt-key -a ##接受指定的认证信息
salt-key -L ##显示所有minion的认证信息
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/11ea94a827765cc877ee5f10f170c1cc)
6.在/etc/hosts文件下添加解析,确保salt-master与salt-minion相通
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/097bc89965e437cf669a1c8fad6a381a)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/cf0133ebba106973166a017ab118a0bd)
三、编写keepalived安装及配置服务文件
1.在/srv/salt/目录下创建keepalived目录,用于存放安装及配置keepalived所需的文件。
2.在keepalived目录下建立files目录,存放keepalived的安装包、启动脚本、配置文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/d380340d980a154e9dd63383a9de12f8)
3.在keepalived目录下编写keepalived安装文件install.sls
vim install.sls
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/d519a664c9f2c52bd9027ad97b0c3f15)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/2de20ebf06e3cab43e6053a4d5fbec9e)
编写service.sls 文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/8ad181f30caff6335139d040278c1718)
四、编写安装及配置haproxy文件
1.在/srv/salt/下创建haproxy目录,用于存放安装及配置haproxy所需的文件。
2.在haproxy目录下建立files目录,存放haproxy的安装包、启动脚本、配置文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/82d31c52365eb53c1c2f7ecaa589d58f)
3.在/srv/salt/下建立Pkg目录,在pkg目录下编写安装依赖包的文件make.sls
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/406e316b93e7ff849039a3712e64cc67)
![](https://img-blog.csdn.net/20171019235425075?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2luYXRfMzk1MjIxOTc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkF<br/>4000<br/>CMA==/dissolve/70/gravity/SouthEast)
4.在/srv/salt/下建立user目录,在user目录下创建haproxy用户的文件haproxy.sls
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/ef94f186eb6f8c8794418e34e510dd71)
5.在haproxy目录下编写install.sls安装文件。
vim install.sls
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/0c63825239c09a207f68baac53150333)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/6cc9d46ada68e2d302597ef336128b06)
6.编写service.sls文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/4c4c3b7953bc2831f9f76432484b4559)
五、编写nginx安装配置文件
1.在/srv/salt/下创建nginx目录,用于存放安装及配置nginx所需的文件。
2.在nginx目录下建立files目录,存放nginx的安装包、启动脚本、配置文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/43dfaeb1eff5c82fae86a898dc38f50f)
3.在/srv/salt/下建立user目录,在user目录下编写创建nginx用户的文件nginx.sls
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/759530cf833f0fe53e7f7057b6e8c4b4)
4.在haproxy目录下编写install.sls安装文件。
vim install.sls
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/1f1b0432be509d7b0cf964e1666a5725)
5.编写service.sls文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/bc3d31dc087fd411b123fb07d5a835d9)
六、在/srv/salt/目录下编写top.sls文件。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/df9dd17c16524e662c248f7fac923b7e)
七、在salt-master端给salt-minion端推top.sls文件,实现在minion端安装keepalived,haproxy,nginx。
八、在minion端检测keepalived,haproxy,nginx是否安装成功。
在server2,server5检测keepalived,haproxy是否安装成功。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/5e394e76b9f4564a105c83e43e529068)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/8b07c24f2e1e98665c0084f7ca00e738)
在server3,server4上检测nginx是否安装成功
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/ea160eb72e3d4deb2d5044fcbfc3c09d)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/1cb3c9131f8203cff9e79dc912522de5)
九、检查是否实现高可用及负载均衡
1.查看vip,因为server2为master端,server5为backup端,所以vip:172.25.9.100在server2上。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/13c8ff20fb84c2bcbad0d3e6b870ae95)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/ab260a5a2afc69ec7d6491a28594a48b)
2.检测负载均衡。
curl 172.25.9.100或者在浏览器里输入:172.25.9.100不断刷新网页,查看是否负载均衡。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/fca8e30ae9633ccf75b3d1ba62080d53)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/b84ab3f51e0d0a96e43ba833cd3429a3)
3.检查是否实现高可用。
在server2上执行:/etc/init.d/keepalived stop,查看vip位置以及是否可继续实现负载均衡。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/018668c26866af0474ca74ec0c73b795)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/2a64073c50642df2e44ae9aac4db43d3)
此时vip已转移到server5。
执行:curl 172.25.9.100,查看是否负载均衡。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/fca8e30ae9633ccf75b3d1ba62080d53)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/18/b84ab3f51e0d0a96e43ba833cd3429a3)
高可用及负载均衡集群搭建成功。
keepalived,haproxy
server2:172.25.9.12
server5:172.25.9.15
nginx
server3:172.25.9.13
server4:172.25.9.14
salt-master:server1 172.25.9.11
salt-minion:server2,server3,server4,server5
二、安装配置salt-master,salt-minion
1.下载saltstack所需的安装包,将所有下载的安装包放在/root/rhel/目录下
2.配置yum源
vim /etc/yum.repos.d/rhel-source.repo
3.salt-master安装配置
yum install -y salt-master
修改master配置文件
vim /etc/salt/master
启动salt-master:/etc/init.d/salt-master start
4.salt-minion安装配置
yum install -y salt-minion
修改minion配置文件
vim /etc/salt/minion
启动salt-minion:/etc/init.d/salt-minion start
5.在master端执行salt-key
salt-key -A ##受所有 Unaccepted Keys 状态的minion的认证信息
salt-key -a ##接受指定的认证信息
salt-key -L ##显示所有minion的认证信息
6.在/etc/hosts文件下添加解析,确保salt-master与salt-minion相通
三、编写keepalived安装及配置服务文件
1.在/srv/salt/目录下创建keepalived目录,用于存放安装及配置keepalived所需的文件。
2.在keepalived目录下建立files目录,存放keepalived的安装包、启动脚本、配置文件。
3.在keepalived目录下编写keepalived安装文件install.sls
vim install.sls
编写service.sls 文件。
四、编写安装及配置haproxy文件
1.在/srv/salt/下创建haproxy目录,用于存放安装及配置haproxy所需的文件。
2.在haproxy目录下建立files目录,存放haproxy的安装包、启动脚本、配置文件。
3.在/srv/salt/下建立Pkg目录,在pkg目录下编写安装依赖包的文件make.sls
4.在/srv/salt/下建立user目录,在user目录下创建haproxy用户的文件haproxy.sls
5.在haproxy目录下编写install.sls安装文件。
vim install.sls
6.编写service.sls文件
五、编写nginx安装配置文件
1.在/srv/salt/下创建nginx目录,用于存放安装及配置nginx所需的文件。
2.在nginx目录下建立files目录,存放nginx的安装包、启动脚本、配置文件。
3.在/srv/salt/下建立user目录,在user目录下编写创建nginx用户的文件nginx.sls
4.在haproxy目录下编写install.sls安装文件。
vim install.sls
5.编写service.sls文件
六、在/srv/salt/目录下编写top.sls文件。
七、在salt-master端给salt-minion端推top.sls文件,实现在minion端安装keepalived,haproxy,nginx。
salt '*' state.highstate
八、在minion端检测keepalived,haproxy,nginx是否安装成功。
在server2,server5检测keepalived,haproxy是否安装成功。
在server3,server4上检测nginx是否安装成功
九、检查是否实现高可用及负载均衡
1.查看vip,因为server2为master端,server5为backup端,所以vip:172.25.9.100在server2上。
2.检测负载均衡。
curl 172.25.9.100或者在浏览器里输入:172.25.9.100不断刷新网页,查看是否负载均衡。
3.检查是否实现高可用。
在server2上执行:/etc/init.d/keepalived stop,查看vip位置以及是否可继续实现负载均衡。
此时vip已转移到server5。
执行:curl 172.25.9.100,查看是否负载均衡。
高可用及负载均衡集群搭建成功。
相关文章推荐
- 利用saltstack部署高可用集群及负载均衡(keepalived+haproxy+nginx)
- 利用saltstack部署高可用集群及负载均衡(keepalived+haproxy+nginx)
- 利用saltstack部署高可用集群及负载均衡(keepalived+haproxy+nginx)
- 利用saltstack部署高可用集群及负载均衡(keepalived+haproxy+nginx)
- Saltstack自动部署Haproxy+keepalived+nginx+memcache+php(fastcgi) 推荐
- SaltStack之Pillar和Jinja部署LVS+Keepalived+Haproxy
- keepalived+haproxy-部署高可用负载均衡
- Saltstack自动部署Haproxy+keepalived+nginx+memcache+php(fastcgi)
- saltstack部署nginx
- SaltStack一键自动化部署高可用负载均衡集群
- saltstack部署nginx
- 如何快速构建高可用集群(Keepalived+Haproxy+Nginx)
- nginx:利用负载均衡原理实现代码的热部署和灰度发布
- saltstack部署nginx+php
- 利用keepalived和haproxy配置mysql的高可用负载均衡
- saltstack部署keepalived
- 利用Redis+Nginx实现Sping-Boot应用的负载均衡部署
- 自动化管理工具Saltstack之nginx部署(12)
- keepalived+haproxy(双主)+nginx(静态)+lamp(动态)部署phpBB
- 利用keepalived和haproxy配置mysql的高可用负载均衡