[master端]
修改完master和minion的配置文件后
启动服务:service salt-master start
查看是否获取到minion端IP(打印出所有授权或未授权的minion节点):salt-key -L
没有获取到的话(没在master配置自动获取),执行(授权所有节点) salt-key -A
或者salt-key -a NAME
(授权NAME节点)
在授权完成后,我们就可以通过master对minion端进行控制了
基本命令
master:192.168.135.128;minion:192.168.135.129
## 查看当前的salt key信息
salt-key '*' -L
## 测试被控主机的连通性
salt '*' test.ping
## 远程执行命令
salt '192.168.135.129' cmd.run 'ifconfig' 或者 salt '*' cmd.run 'ifconfig'
## 根据被控主机的grains信息进行匹配过滤
## -G 参数回=会根据默认的grain的结果来指定最新的grain
salt -G 'os:Centos' test.ping
## 显示被控主机的操作类型
salt '*' grains.item os
## 远程代码执行测试
salt '*' cmd.exec_code python'import sys;print sys.version'
## 远程拷贝(拷贝123.txt到所有客户端的/root目录下)
salt-cp '*' 123.txt /root
## 分组操作
## 列出模块的函数
#grains模块#
salt 192.168.184.129 sys.list_functions grains
#cmd模块#
salt 192.168.184.129 sys.list_functions cmd
## 查看函数说明
salt 192.168.184.129 sys.doc grains
安装包管理
- 对于程序安装,salt提供了pkg模块:
salt 192.168.184.133 pkg.install "httpd"
pkg.version ## 查看已安装软件的基本信息
pkg.remove ## 删除已安装的软件
管理服务模块
[root@localhost ~]# salt 192.168.184.133 service.status httpd
192.168.184.133:
True
- 通过远程执行命令查看httpd进程确实存在
[root@localhost ~]# salt 192.168.184.133 cmd.run 'ps -ef|grep httpd|grep -v grep'
192.168.184.133:
root 4999 1 0 10:49 ? 00:00:00 /usr/sbin/httpd
apache 5002 4999 0 10:49 ? 00:00:00 /usr/sbin/httpd
apache 5003 4999 0 10:49 ? 00:00:00 /usr/sbin/httpd
apache 5004 4999 0 10:49 ? 00:00:00 /usr/sbin/httpd
apache 5005 4999 0 10:49 ? 00:00:00 /usr/sbin/httpd
apache 5006 4999 0 10:49 ? 00:00:00 /usr/sbin/httpd
apache 5007 4999 0 10:49 ? 00:00:00 /usr/sbin/httpd
apache 5008 4999 0 10:49 ? 00:00:00 /usr/sbin/httpd
apache 5009 4999 0 10:49 ? 00:00:00 /usr/sbin/httpd
文件管理模块
- 对于文件管理salt提供了file模块,常用的如下:
[root@localhost ~]# salt 192.168.184.133 file.stats /etc/yum.conf
[root@localhost ~]# salt 192.168.184.133 file.chown /etc/passwd root root
用户管理模块
salt 192.168.184.133 user.add mysql
salt 192.168.184.133 user.delete mysql
salt 192.168.184.133 user.info mysql
复合匹配