1.安装与启动
yum install salt-master -y 安装服务端
chkconfig salt-master on 自启动
service salt-master start 启动
yum install salt-minion -y 安装客户端
chkconfig salt-minion on 自启动
service salt-minion start 启动
最好修改 /etc/host 和 /etc/sysconfig/network 统一主机名
2.设置防火墙
# iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT
# iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT
3.更改配置文件 /etc/salt/master
interface: 172.16.160.98 绑定IP
auto_accept: True 自动认证
file_roots: 指定文件根目录
base:
- /srv/salt
4.重启服务端
# service salt-master restart
5.修改客户端 /etc/salt/minion
master: 172.16.160.98
id: minion1
6.master与minion认证
# salt-key 查看当前证书情况
# salt-key -A -y 同意签证所有没有接受的签证情况
这里有可能出现一个报错:salt-minion dead but pid file exists。解决:http://blog.csdn.net/cy309173854/article/details/52621178
7.测试
# salt '*' test.ping
# salt '*' cmd.run 'ls -al'
8.states文件
sls文件存放根路径在master配置文件中定义,默认为/srv/salt,该目录在操作系统上不存 在,需要手动创建。在salt中可以通过salt://代替根路径,例如你可以通过salt://top.sls访问/srv/salt/top.sls
9.zabbix sls模板
/root/zabbix_agent2017-03-08.tar.gz:
file.managed:
- source: salt://zabbix_agent2017-03-08.tar.gz
zabbix-agent:
user.present:
- shell: /sbin/nologin
/var/log/zabbix/:
file.directory:
- user: zabbix-agent
- group: zabbix-agent
- mode: 755
- makedirs: True
- watch:
- user: zabbix-agent
unpack_zabbix_agent:
cmd.run:
- name: "tar zxf /root/zabbix_agent2017-03-08.tar.gz -C /usr/local/"
- watch:
- file: /root/zabbix_agent2017-03-08.tar.gz
set_config:
cmd.run:
- name: sed -i s/172.16.160.39/`ifconfig |grep -o "<addr:.*160.*ast>" |awk -F":" '{print $2}' |awk '{print $1}'`/ /usr/local/zabbix_agent/etc/zabbix_agentd.conf && /usr/local/zabbix_agent/sbin/zabbix_agentd
- watch:
- cmd: unpack_zabbix_agent
zabbix_onboot:
cmd.run:
- name: echo "/usr/local/zabbix_agent/sbin/zabbix_agentd " >>/etc/rc.local
- watch:
- cmd: set_config
安装命令:
salt -L 172.16.160.99-jmp state.sls install_zabbix_agent
参数解释:
-L 指定minion主机列表,可以多个
- install_zabbix_agent 指定的是/srv/salt/install_zabbix_agent.sls这个文件