grains简介:
grains是在minion启动时收集的一些固定信息,比如说操作系统的类型、网卡ip、内核版本、cpu架构等。
grains是存储在minion端的,缓存在master端,即需要在minion端进行配置,配置后在master端执行。
grains所存储的是静态数据,不会时时变动,即一些minion的固定属性,他只是在minion启动时收集到的信息。
常用grains的命令:
salt 'minion' grains.items #列出所有grains静态的函数信息
salt 'minion' grains.item os #列出单个grains静态信息,如os系统版本
salt -G 'os:centos' grains.item cmd.run 'ls' #根据某个函数信息匹配某个minion主机,并执行远程命令ls
自定义grains:
自定义grains需要在minion进行配置。
步骤:
(1)首先编辑grains
vim /etc/salt/grains #没有grains需要创建
插入信息: 注意空格,格式 名称: 值
如
role: nginx
env: test
myname: wzq
mydomain: 111
(2)重启minion /etc/init.d/salt-minion restart
或者在master上刷新: salt 'minion' saltutil.sync_grains
(3)master上测试
可以使用salt 'minion' grains.items 查看是否加载上了role env myname mydomain
可以使用salt 'minion' grains.item role env 单独查看
可以使用-G 匹配察看 salt -G role:nginx cmd.run ls