salt 类似于puppet都属于c/s结构
1. 安装salt
1.1 安装epel
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
1.2 安装salt
master:
yum -y install salt-master
minion:
yum -y install salt-minion
1.3 开机自动启动
master:
chkconfig salt-master on
minion:
chkconfig salt-minion on
1.4 启动:
master:
service salt-master start
minion:
service salt-minion start
2. 配置salt
2.1 配置文件路径为:
/etc/salt/master or /etc/salt/minion
缓存路径为:
/var/cache/salt
日志路径为:
/var/log/salt
2.2 master configuration
修改interface地址为本机地址
- #interface: 0.0.0.0
+ interface: 10.0.0.1
修改完重启
service salt-master restart
2.3 minion configuration
修改master选项以便能够找到master
- #master: salt
+ master: 10.0.0.1
修改完重启
service salt-minion restart
2.4 key management
查看key:
[root@master ~]# salt-key -L
Unaccepted Keys:
alpha
bravo
charlie
delta
Accepted Keys:
accept key
[root@master ~]# salt-key -A
[root@master ~]# salt-key -L
Unaccepted Keys:
Accepted Keys:
alpha
bravo
charlie
delta
2.5 sending command
[root@master ~]# salt alpha test.ping
alpha:
True
[root@master ~]# salt '*' test.ping
alpha:
True
bravo:
True
charlie:
True
delta:
True
salt '*' cmd.run "service apache2 restart"
salt 'alpha' cmd.run "date"
3. 配置管理
3.1 启动配置管理
取消关于file_roots的注释
vim +307 /etc/salt/master
file_roots:
base:
- /srv/salt
这样就告诉salt配置文件在哪里,默认安装没有该目录,需手动创建
3.2 创建top文件
基础配置文件也叫top文件,在/srv/salt目录下,top.sls内容如下:
base:
'*':
- servers
通配符'*'的目标是所有机器,’- servers'可以为任意值,第二行前有2个空格,第三行前有4个空格
3.3 创建特定服务的配置文件
保存top.sls后,在salt目录下创建servers.sls文件,这个文件包含特定的配置,
httpd:
pkg:
- installed
3.4 特定包得配置文件
在servers.sls添加如下行
/etc/httpd/conf/httpd.conf:
file:
- managed
- source: salt://servers/httpd.conf
- require:
- pkg: httpd
保存servers.sls后,在/srv/salt目录下创建servers目录,用来存储httpd.conf
3.5 目录结构
/srv/salt
top.sls
servers.sls
/servers
httpd.conf
3.6 命令触发
salt '*' state.highstate
片刻后,就会看到所有服务器都已经安装httpd服务了