windows下载:http://docs.saltstack.com/en/latest/topics/installation/windows.html
salt-minion在更换了master之后需要在master删除掉相应的key:(salt-key -d ‘xxx’, xxx是id),在minion端删除掉master的pub文件(/etc/salt/pki/minion/minion_master.pub),然后重启minion。
【master和minion安装】
IP:172.16.154.237
刚开始安装时找不到salt-master包,原来是没有添加相应软件源。
apt-get install python-software-properties
add-apt-repository ppa:saltstack/salt
apt-get update
apt-get install salt-master
apt-get install salt-minion
【salt配置】
服务端的配置:vi /etc/salt/master
interface: 0.0.0.0
auto_accept: True
设置监听IP及打开自动通过验证,然后启动/etc/init.d/salt-master start
客户端的配置: vi /etc/salt/minion
master: 192.168.1.100
id: 192.168.1.101
master是设置服务端的IP,id是服务端显示用的可以随意写,不过我为了好区分机器是配了本机的IP地址,然后启动:/etc/init.d/salt-minion start
【简单试用】
root@ubuntu:~# salt-key -L
Accepted Keys:
192.168.1.101
Unaccepted Keys:
ubuntu
Rejected Keys:
root@ubuntu:~# salt ‘*’ cmd.run “df -lh”
192.168.1.101:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 128G 3.6G 118G 3% /
none 5.9G 184K 5.9G 1% /dev
none 5.9G 0 5.9G 0% /dev/shm
none 5.9G 56K 5.9G 1% /var/run
none 5.9G 0 5.9G 0% /var/lock
none 5.9G 0 5.9G 0% /lib/init/rw
none 128G 3.6G 118G 3% /var/lib/ureadahead/debugfs
/dev/sda1 184M 22M 154M 13% /boot
root@ubuntu:~#
salt-key -L:查看发起请求的minion的主机名称(hostname)
salt-key -A:同意所有的minion连接
salt-key 可以查看通过验证的机器
salt是主程序,可以很方便对多台机器进行管理
至此,所有的master和minion配置完成,可以在master执行salt ‘*’ test.ping
看到所有的minion都返回True,则说明整个系统配置成功!
【centos】
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update
yum install salt-master
yum install salt-minion
修改配置:
vim /etc/salt/master
启动服务(以下命令等效):
salt-master -d
/etc/init.d/salt-master start
service salt-master start
vim /etc/salt/minion
最基本的设定是指定master地址,以及本机标识符:
master: master的主机名或IP地址
id: 本机标识符
启动服务(以下命令等效):
salt-minion -d
/etc/init.d/salt-minion start
service salt-minion start
# 在master上运行
# 查看所有minion
salt-key -L
Accepted Keys:
windows
bond_app_server_main
mac_os_vm
salt-master
Unaccepted Keys:
minion1
minion2
Rejected Keys:
#其中Unaccepted Keys是未许可的minion。可以使用下面的命令通过认证:
salt-key -a minion1
# 查询主机运行了多长时间
sudo salt ‘*’ cmd.run “uptime”
# 批量重启服务
salt ‘*’ cmd.run “service httpd restart”
# 让多台机器一起,使用Apache Bench进行压力测试
salt ‘*’ cmd.run “ab -n 10 -c 2 http://www.google.com/”
注意,默认情况下master和minion之间使用以下端口进行通信:
1. 4505(publish_port): salt的消息发布系统
2. 4506(ret_port):salt客户端与服务端通信的端口
网络的设置需要保证这些端口可以访问。