grains 其他机器自身信息记录,可供主机筛选 grains是在minion启动时收集到的一些信息,比如操作系统类型、网卡ip等。 使用命令 salt 'client.aming.com' grains.ls 列出所有的grains项目名字 salt 'client.aming.com' grains.items 列出所有grains项目以及值 grains的信息并不是动态的,并不会时时变更,它只是在minion启动时收集到的。 grains可以做配置管理。

自定义grains vim /etc/salt/minion
添加或更改: grains: role: - nginx env: - test 或者 vim /etc/salt/grains 添加: role: nginx env: test

语法错误会导致无法同步,详细可查看日志

重启minion服务 获取grains: salt '*' grains.item role env salt 'client.aming.com' grains.get role

grains其实在远程执行命令时,很方便。我们可以按照grains的一些指标来操作。比如把所有的web服务器的grains的role设置为nginx,那这样我们就可以批量对nginx的服务器进行操作了: salt -G role:nginx cmd.run 'hostname' salt -G os:CentOS cmd.run 'hostname'