1、安装配置
准备两台机器
master:172.25.77.4
minion:172.25.77.5
下载所需要的包,放到yum源里
server4安装master
server5安装minion
在两台机器/etc/hosts加入本地解析
编辑server5的minion配置文件,指定master
master端使用 salt-key -L 命令查看到已经签名的客户端
salt-key -A添加所有
test.ping检测通讯是否正常
在minion端的 /etc/salt/pki/minion 目录下面会多出一个minion_master.pub 文件
与master端的 master.pub一致
二、Salt一键部署
在master端打开fle_roots
建立这个网站,启动服务
1、一键部署httpd
在base目录下,建立httpd目录,编辑install.sls
运行,在minion端自动安装了httpd服务,将httpd的配置文件放到master的base/httpd/files下
此时在master端更改配置,在minion端生效,这里我们来改变端口进行测试
现在httpd服务是80端口
在master端更改httpd的配置文件,将端口改为8080
再次运行,在minion端查看,端口被修改为8080
上面是一起安装和重新加载,我们还可以安装和服务重新加载分开
先建立insatllback.sls安装文件
在建立服务重新加载service文件,如下图
还是用更改端口来测试,现在端口是8080,我们在将其改为80
运行service
查看,成功将端口修改为80
2、一键部署源码安装ngixn
先要准备nginx源码安装的依赖性,在base目录下建立pkgs目录,编辑install.sls
在准备一台机器,server6做minion来安装部署ngxin
一样,在base目录下建立ngix目录,编辑install.sls,将tar包放在nginx目录下的files下
运行安装ngixn
在server6 minion端将nginx.conf配置放到server4 master的指定目录下
在files里有配置文件和写好的启动ngixn脚本
现在我们来实现创建ngxin用户并且自动启动加载
在server6端,此时nginx用户不存在
在master端,base目录下建立users/编辑创建用户和用户组
并将其指定到nginx的安装部署文件里
编辑nginx的service.sls这个也可以更改部署配置文件信息
这里将配置文件也更改,一起测试
完成后运行nginx的server.sls
在server6 minion端查看,nginx用户和运行情况和配置文件
3、一键推送
在上面配置好前提下,可以设置多台机器一键推送,在base目录下建立编辑top.sls,即可实现
4、一键部署haproxy并实现负载均衡
这里为了方便直接在master server4端安装
现在server4上安装minion,并加入salt-key
![](https://i-blog.csdnimg.cn/blog_migrate/395fd64281934868513b03afe49854a3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/439c607ec0f74ee5dc53ef2d877489a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6581d49d4463eeec0de160608b38f259.png)
实现负载均衡,在yun源里加入LoadBalancer
在base目录下建立haproxy的install.sls,完成后运行
运行过程中报错,只完成了安装,这是因为没有配置文件,将安装好产生的配置文件发送到insatll.sls里指定目录下再次运行即可
实现负载均衡,更改全局base目录下的haproxy.cfg配置文件
完成后可以单独执行install.sls,也可以其加入到一见推送top.sls里
在之前server5部署的httpd和server6部署的nginx默认发布目录下写入内容,方便测试
测试查看负载均衡,如图:完成实现
三、grains和pillar
grains负责采集客户端的一些基本信息;pillar数据是存储在master端的,而在客户端有缓存,通常pillar数据是一些配置信息。
1、grins配置
1)在master查看minion的grains的值
2)三种方法设置grains
第一种:种在minion配置文件里找到grains节点进行添加或编辑,如下图
第二种方法:在/etc/salt建立编写grains文件
第三种方法:在master的base目录下建python文件来从minion上取得环境参数
然后将此自定义grains文件同步到minion上
并且grains可以和一键推送结合,可以配合grains的指定值来推送,如下图
在salt是linux的机器上安装httpd服务
运行测试没有报错
2、pillar配置
首先需要在master配置文件中修改pillar根目录
这个目录没有,需要自己建立,完成后重启服务,并在目录下可以建立目录,编辑pillar数据
然后在在pillar目录中添加top.sls
可以通过命令salt ... refresh_pillar来刷新minion的pillar数据
完成后进行验证即可