saltstack自动化部署keepalived实现haproxy高可用

环境:

rhel6.5,iptables和selinux均为disabled状态

server1: 172.25.254.1 master

server2: 172.25.254.2  minion

server3:172.25.254.3  minion

server4: 172.25.254.4  master

操作步骤:

上篇博客已经给server1,2,3配置完成

给server4安装salt.minion.,并且改好文件,开启服务

将server4加入到server1的salt上

在server1的/srv/salt/新建keepalived

编写install.sls源码安装文件

在keepalived目录下新建files,并且下载keepalived的源码安装包

salt server4 state.sls keepalived.install   ##在server4上安装keepalived

安装成功后,server4中会有keepalived文件,将两个文件传到server1的/srv/salt/keepalived/files/

在server1中重新编写安装文件

重新安装

编写service.sls文件

改写keepalived.conf文件

在/srv/pillar/创建keepalived

编写pillar中的top.sls文件

编写/srv/pillar/web/的install.sls文件

编写srv/pillar/top.sls

执行多节点推送

成功之后,在server1查看ip,虚拟ip是否加上去

在浏览器上172.25.254.100

关掉server1上的keepalived

发现ip跳到server4上

在server1上编写一个python的简单脚本

执行高并发

在server2上就可以看到了

在server1上就可以执行salt,能远程查看server2的硬盘使用情况

查看全部ser ver的磁盘使用情况

order-master和sync-master

设置server4为order-master,server1为sync-master

先在server1中把server4这个minion删除掉,本实验打算用server4做order-master,server1做sync-master,,order-master只能检测到sync-master,只会知道sync-master的个数,但是sync-master是知道minion的个数的

停掉server4上的minion,设置为开机不自启

server4上安装master

在server1上编写/srv/salt/top.sls 文件,去掉server4的服务

在server1上安装salt-syndic

查看server1的/etc/salt/master文件

编写server4上的/etc/saltmaster文件

编写server1上的master文件,syndic-master的ip为server4的ip

因为改写了server1master文件,所以需要重新启动server1的服务才能生效

并且开启salt-syndivc服务

开启server4的master

因为对于server4来说,server1相当于一个minion,所以server4上能监测到server1

虽然server4不能检测到server2和server3,但是却可以通过salt服务ping通

在server4中也可以通过salt查看各机上的磁盘分布情况

salt的ssh服务

这实验中,关闭掉minion服务,怕会引起不必要的麻烦

在server1上安装salt-ssh服务

server1上编写/etc/salt/roster文件

通过salt来ping ,是可以ping通的

可以通过salt-ssh服务来查看server2和server3的磁盘分配情况

发现server2和server3上有密钥(本实验只在server2上看了一下)

salt-api

先开启salt-minion

在server1上安装salt-api

创建salt-api的用户

导入key

创建

编写api.conf

编写auth.conf

重启服务salt-master,并且开启api

api的服务端口是8000

设置

执行函数test.ping

执行python脚本,查看硬盘使情况

vim api.py

将 文件名改为saltapi.py,这样好分辨

执行文件

再次编写此文件

vim saltapi.py(此次脚本是要开启server3的服务nginx.service)

在server3上查看端口(并无nginx服务开启)

在server1上执行脚本

之后在server3上查看端口,会看到自动开启了服务

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值