一.什么是salt
Salt 是:
一个配置管理系统,能够维护预定义状态的远程节点(比如,确保指定的报被安装,指定的服务在运行)
一个分布式远程执行系统,用来在远程节点(可以是单个节点,也可以是任意规则挑选出来的节点)上执行命令和查询数据
二.Salt的核心功能
1.使命令发送到远程系统是并行的而不是串行的
2.使用安全加密的协议
3.使用最小最快的网络载荷
4.提供简单的编程接口
Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。
三.salt使用Python客户端接口
为了允许简单的扩展,Salt执行程序可以写为纯Python模块。数据从Salt执行过程中收集到可以发送回master服务端,或者发送到任何任意程序。Salt可以从一个简单的Python API调用,或者从命令行被调用,所以Salt可以用来执行一次性命令,也可以作为一个更大的应用程序的一个组成部分。
二.安装salt
1.配置yum源
mv salt /var/www/html/
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.1.250/source6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[slat]
name=slatstack
baseurl=http://172.25.1.250/salt
gpgcheck=0
2.查看yum源是否配置成功
三.配置salt的master端和slave端
1.server1是master端,server2和server3是minion端
在server1上yum install -y salt-master
在sevrer2和server3上yum install -y salt-minion
2.在master端修改配置文件
cd /etc/salt/
vim master
534 file_roots:
535 base:
536 - /srv/salt # 打开注释
537
/etc/init.d/salt-master start
netstat -antlp # 查看端口是否打开
4505端口:用来链接slave,发布订阅
4506端口:请求响应,模式为:zmq(消息队列)
3.在minion端修改配置文件(server2)
cd /etc/salt/
vim minion
16 master: 172.25.1.1 # 指向的master端
/etc/init.d/salt-minion start # 打开服务后生成一个minion.id文件
# 如果修改ip或者hostname的话,必须删除该文件重新生成
4.在master添加minion(master和minion交换公钥的过程)
salt-key -L
salt-key -A # 添加显示的所有主机
5.分别在master和minion端查看两者的公钥
master:
miniso:
6.交换公钥完成之后,在master端可以直接调用python方法查看server2中的信息
四.配置自动化部署
(一)安装httpd服务
1.修改master端的配置文件
cd /etc/salt/
vim master
534 file_roots:
535 base:
536 - /srv/salt # 这个目录没有,自己建立
mkdir /srv/salt
/etc/init.d/salt-master restart