第一个应用场景:信息的搜集
[root@linux-node1 salt]# salt 'linux-node1*' grains.ls 列出所有grains的名称
[root@linux-node1 salt]# salt 'linux-node1*' grains.items 列出所有grains的内容
[root@linux-node1 salt]# salt 'linux-node1*' grains.item fqdn
linux-node1.example.com:
----------
fqdn:
linux-node1.example.com
[root@linux-node1 salt]# salt 'linux-node1*' grains.get fqdn
linux-node1.example.com:
linux-node1.example.com
[root@linux-node1 salt]# salt 'linux-node1*' grains.get ip_interfaces:eth0 查所有eth0的ip地址
linux-node1.example.com:
- 10.0.0.7
- fe80::20c:29ff:fe5c:e013
###############################################################################################
第二个应用场景:匹配minion
[root@linux-node1 salt]# salt 'linux-node1*' grains.get os
linux-node1.example.com:
CentOS
[root@linux-node1 salt]# salt -G os:CentOS cmd.run 'w' -G:指的是使用grains进行匹配
linux-node2.example.com:
22:24:49 up 1:06, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 21:19 22:25 0.02s 0.02s -bash
linux-node1.example.com:
22:24:49 up 1:06, 1 user, load average: 0.00, 0.04, 0.07
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 21:19 1.00s 1.09s 0.86s /usr/bin/python
第一种指定grains的方法,直接在配置文件中加
[root@linux-node1 salt]# vim /etc/salt/minion
82 grains:
83 roles:
84 - webserver
85 - memcache
重新启动minion
[root@linux-node1 salt]# /etc/init.d/salt-minion restart
Stopping salt-minion daemon: [确定]
Starting salt-minion daemon: [确定]
[root@linux-node1 salt]# salt -G 'roles:webserver' cmd.run 'df -Th'
linux-node1.example.com: =====只有linux-node1返回了结果,因为在linux-node1的配置文件中指定了角色
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 19G 1.8G 16G 11% /
tmpfs tmpfs 937M 16K 937M 1% /dev/shm
/dev/sda1 ext4 190M 36M 145M 20% /boot
另外一种指定grains的方法:
[root@linux-node1 salt]# cat /etc/salt/grains
web: nginx
[root@linux-node1 salt]# /etc/init.d/salt-minion restart
Stopping salt-minion daemon: [确定]
Starting salt-minion daemon: [确定]
[root@linux-node1 salt]# salt -G web:nginx cmd.run 'w'
linux-node1.example.com: ===========只在设置了角色的机器上返回了值,匹配是成功的
22:39:32 up 1:21, 1 user, load average: 0.15, 0.09, 0.06
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 21:19 1.00s 1.15s 0.83s /usr/bin/python
###############################################################################################
在top file里面指定grains
[root@linux-node1 salt]# cat /srv/salt/top.sls
base:
'web:nginx':
- match: grain
- apache
[root@linux-node1 salt]# salt '*' state.highstate 执行高级状态,则显示已匹配到的一台执行了
老男孩网址:http://www.etiantian.org/
qq:406564728
欢迎提出宝贵建议
本文转自陈继松 51CTO博客,原文链接:http://blog.51cto.com/chenjisong/1714019,如需转载请自行联系原作者