grains
[root@server1 salt]# salt ‘*’ grains.items##列出所有被控主机的所有信息
[root@server1 salt]# salt -G ‘cpuarch:x86_64’ cmd.run ‘uptime’##使用-G来进行过滤
- 添加自定义模块
1.在被控主机上添加模块
自定义添加grains模块
[root@server2 nginx]# vi /etc/salt/minion
[root@server2 salt]# systemctl restart salt-minion
[root@server3 nginx]# vi /etc/salt/minion
[root@server3 salt]# systemctl restart salt-minion
在server1进行查看
[root@server1 salt]# salt -G ‘roles:apache’ test.ping##之匹配有apache模块的主机
[root@server1 salt]# salt -G ‘roles:nginx’ test.ping ##只匹配有nginx模块的主机
[root@server1 salt]# salt -G ‘roles:apache’ cmd.run ‘systemctl restart httpd’##使用该命令对装有apache模块的主机实行重启httpd服务
可以看到,即使关闭httpd服务,在执行完命令后服务也会开启,我们可以通过该命令批量控制装有apache模块的主机
2.在master上创建/etc/salt/_grains目录并且编辑文件添加模块
[root@server1 salt]# mkdir /srv/salt/_grains
[root@server1 salt]# cd /srv/salt/_grains/
[root@server1 _grains]# vim my_grains.py
[root@server1 _grains]# cat my_grains.py
#!/usr/bin/env python
def my_grains():i
grains = {‘foo’: ‘bar’, ‘hello’: ‘world’}
grains[‘salt’] = ‘stack’
return grains
pillar
[root@server1 _grains]# vim /etc/salt/master
[root@server1 _grains]# systemctl restart salt-master
[root@server1 _grains]# mkdir /srv/pillar
[root@server1 _grains]# cd /srv/pillar
[root@server1 pillar]# vim vars.sls
[root@server1 pillar]# vim top.sls
[root@server1 pillar]# pwd
/srv/pillar
[root@server1 pillar]# mkdir web
[root@server1 pillar]# mv vars.sls web
[root@server1 pillar]# ls
top.sls web
[root@server1 pillar]# cat top.sls
base:
'*':
- vars
[root@server1 pillar]# cat web/vars.sls
{% if grains['fqdn'] == 'server2' %}
webserver: httpd
state: master
{% elif grains['fqdn'] == 'server3' %}
webserver: nginx
state: backup
{% endif %}
- 查看