安装
参考 http://docs.saltstack.cn/topics/installation/index.html#installation 选择对应的OS
配置
环境如下:
master:192.168.1.114 主机名centos6
minion:192.168.1.125 主机名centos64bit
master配置
默认Salt master监听所有网卡接口(0.0.0.0)的4505和4506端口. 如果需要指定监听IP, 通过 /etc/salt/master 配置文件
修改auto_accept 自动接收minion的key
minion配置
vi /etc/salt/minion指定master地址
设置id,id一般为主机名或者ip,用于管理区分minion
配置完成后开启服务
/etc/init.d/salt-master start
/etc/init.d/salt-minion start
不同OS开启方式不同,参考官网
salt-key管理
minion开启会自动生成salt-key公钥私钥,并把公钥发送到master端。minion不监听端口,全靠和master保持长连接,可通过netstat
-an|grep
ES
来查看是否有连接。
master端证书存放路径:/etc/salt/pki/master/minions
salt-key -L #查询所有接收到的证书
salt-key -a <证书名> #接收单个证书
salt-key -A #接受所有证书
salt-key -d <证书名> #删除单个证书
salt-key -D #删除所有证书
例如:salt-key -a 192.168.1.125表示接受这个minion的key,接受之后即可对其管理
saltstack测试验证
salt '*' test.ping //检测通讯是否正常,也可以指定其中一个minion * 表示针对所有的minion,也可以针对单独minion或组进行验证
分组管理
若minion的数量比较多,我们可以对minion进行分组,相同功能的minion分为一个组,然后在master端对某个组进行管理
vi /etc/salt/master
SH和apache为:组名,后面跟minionid 如果一个组有多个minion,如上如apache组,则id前面加L@
针对组管理需要加-N参数,如下
文件下发操作
使用到cp模块
将主服务器file_roots指定位置下的目录复制到被控主机
首先指定file_root目录
vi /etc/salt/master
上面配置指定的file_fle_root为/srv/salt/,所以我们得将需要下发的文件或目录存放在该目录下
如我们需要下发pip包和目录至minion
salt '192.168.1.125' cp.get_dir salt://pip-9.0.1 /root/ cp.get_dir表示下发目录
salt '192.168.1.125' cp.get_file salt://pip-9.0.1.tar.gz /root/pip-9.0.1.tar.gz cp.get_file表示下发文件
注意:下发文件时,minion的文件名一定要加上,不要到目录层就不写了,如上例子。/root/后面一定要加上文件名。
下载指定url到minion
salt '*' cp.get_url https://pypi.python.org/packages/76/21/2dc61178a2038a5cb35d14b61467c6ac632791ed05131dda72c20e7b9e23/backports.ssl_match_hostname-3.5.0.1.tar.gz /root/backports.ssl_match_hostname-3.5.0.1.tar.gz cp.get_url表示下载url文件到minion
还有其他一些模块就不记录了。如:改密模块,定时任务模块等常用的
下面介绍一下salt-ssh
使用saltstack客户端要安装minion,安装minion使用起来比较稳定,但是安装麻烦。而salt-ssh的使用则无需客户端安装minion,但是需要安装python,要2.6以上版本。
在master端编辑文件/etc/salt/roster
其中的linux相当于minion中的id
初次使用最好加上-i参数,后面就不需要了
验证连接通过后,会生成key文件发给客户端,以后就用key验证,roster文件中的登录信息就可以去掉
整体来说能装minion还是使用minion
这只是很简单的saltstack介绍,深入请参考官网文档http://docs.saltstack.cn/