安装

环境:centos 6.3 首先,我们需要配置epel的yum源。配置方法很简单,只需要执行:

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh http://mirrors.sohu.com/fedora-epel/5/x86_64/epel-release-5-4.noarch.rpm

文件名可能会变,因为在不断地更新,但路径没问题,你可以去http://mirrors.sohu.com/fedora-epel/6/x86_64/找。 安装好了之后,执行:

  • yum search salt

你会看到3个文件:

  • salt-master.noarch:管理端需要安装

  • salt-minion.noarch:被管理端(客户端)安装

  • salt.noarch:都要安装,初始化的一些目录、文件等等。

安装完毕。

配置

配置master

vim /etc/salt/master

interface: 0.0.0.0

publish_port: 4505

user: root

worker_threads: 5

ret_port: 4506

root_dir: /

pki_dir: /etc/salt/pki/master

keep_jobs: 24

timeout: 5

state_top: top.sls

file_roots:

base:

– /srv/salt

pillar_roots:

base:

– /srv/pillar

log_file: /var/log/salt/master

log_level: warning

mkdir -p /srv/pillar mkdir -p /srv/salt /etc/init.d/salt-master start

配置client

vim /etc/salt/minion

master: 192.168.122.1

master_port: 4506

user: root

#id: 192.168.122.102 //master上看的id,默认的是minion的主机名

pki_dir: /etc/salt/pki

cachedir: /var/cache/salt

log_file: /var/log/salt/minion

log_level: warning

/etc/init.d/salt-minion start

在master端授权

查看授权:salt-key -L A

[root@bj-idc2-erplvs salt]# salt-key -L

Accepted Keys:

zabbix03.vm

Unaccepted Keys:

zabbix02.vm

Rejected Keys:

赋予授权:salt-key -A

[root@bj-idc2-erplvs salt]# salt-key -A

Key for minion zabbix02.vm accepted.


测试交互

在master执行命令,测试client的连通性(ping)

[root@bj-idc2-erplvs salt]# salt 'zabbix03.vm' test.ping

zabbix03.vm: True


同时,也支持正则的方式:

[root@bj-idc2-erplvs salt]# salt '*.vm' test.ping

zabbix03.vm: True

zabbix02.vm: True

在master执行命令,得到client端信息

[root@bj-idc2-erplvs salt]# salt 'zabbix03.vm' cmd.run 'uname -r' –out json

{

"zabbix03.vm": "2.6.32-279.el6.x86_64"

}


详见:http://docs.saltstack.org/en/latest/contents.html

简单应用

将master上文文件拷贝至minion

将master上的/tmp/kvm_running.txt拷贝至id为192.168.122.102的/tmp/Install_bind.sh_aaa

[root@master srv]# salt-cp '192.168.122.102' /tmp/kvm_running.txt /tmp/Install_bind.sh_aaa

{'192.168.122.102': {'/tmp/Install_bind.sh_aaa': True}}