主要内容:
grains介绍,以及使用
1.介绍
grains就是minion在启动时收集到的客户端的数据信息.
1)grains应用场景:
2)grains 可以再state系统中使用,用于配置管理模块.
grains可以target中使用,在用来匹配minion,比如匹配操作系统,使用-G选项
3)Grains可以用于信息查询,Grains保存者收集到的客户端的详细信息.
2.grains的查看.
grains的值是key:value的信息,
salt "*" grains.ls #查看grains的key值信息
执行结果示例如下:
也可以通过命令来查看key:value,(这个是获取所有的key,value)如下:
salt "*" grains.items
如果想要获取具体某个值得话,可以用如下命令:
salt "*" grains.item saltversion #获取salt版本 或者通过 salt "*" grains.get saltversion #通过get也可以获取.
3.自定义grains
可以在minion的/etc/salt/minion配置文件中进行设置.如下
设置完成后需要重启minion一下,如下命令:
systemctl restart salt-minion
重启完成后可以通过如下命令来查看.
salt "*" grains.get roles
但是上面的问题是需要重启minion,有没有不需要重启的呢,可以参考如下方法的.
这时需要在文件/etc/salt/grains文件中写,示例如下:
书写内容如下:
写完后需要在master端执行
salt "*" saltutil.sync_grains
执行结果如下:
然后查看自定义grains.
4. grains的具体使用
指定具体的grains来执行命令,示例如下:
salt -G "roles:apache" cmd.run "ls"
指定具体操作系统来执行命令
salt -G "os:CentOS" cmd.run "uptime"
5.grains也可以再top.sls里面做目标选择用的
可以在top.sls文件里面用来指定目标文件.示例如下:
base: "os:CentOS": - match: grain - web.apache
注意:必须加- match