用来匹配minion的grains,是指那些关于minion主机的静态信息,比如OS,软件版本,虚拟化,CPU,内存等等。
查看grains
1 2 3
| salt ‘*’ grains.items #打印grains salt ‘*’ grains.item [keyname] #打印指定的值
|
在minion 中配置grains
/etc/salt/grains 自定义 grains
/etc/salt/minion 自定义 grains
1 2 3 4 5 6 7 8
| grains: roles: - webserver - memcache deployment: datacenter4 cabinet: 13 cab_u: 14-15
|
在/srv/salt/_grains配置grains
创建 grains 目录
1 2
| mkir /srv/salt/_grains && cd /srv/salt/_grains
|
1 2 3 4
| def foo(): s={’name’:’zhang’,’age’:10} return s
|
在top file中使用grains
1 2 3 4 5 6 7 8
| {% set node_type = salt['grains.get']('node_type', '') %}
{% if node_type %} 'node_type:{{ self }}': - match: grain - {{ self }} {% endif %}
|
同步后查看grains值
1 2 3
| salt ‘*’ saltutil.sync_all //同步到客户端 saltutil.sync_grains saltutil.sync_all state.highstate salt ‘*’ grains.item name //输出name的名称
|