Salt Stack - Grains
作者:互联网
数据系统 - Grains
Grains是Salt的组件,在minion启动时收集信息。
Grains查看命令
salt '*' grains.ls //查看内容
salt '*' grains.items //查看内容和值
salt '*' grains.get name //查看名为name的grains
可以看到grains中包含了minion的配置信息,比如ip地址、操作系统等。
Grains的使用
命令中使用
salt -G os:nginx test.ping
这里使用-G来指定在os值为nginx的target中运行test.ping。由于我们安装的操作系统为ubuntu,所以命令返回为:
No minions matched the target. No command was sent, no jid was assigned.
将os改为Ubuntu:
salt -G os:nginx test.ping
可以得到相应的返回值。
在sls文件中使用
修改top.sls文件为:
base:
'os:Ubuntu'
- match: grain
- nginx
这里使用grains来匹配target,所以必须执行match为grain。
自定义Grains
由于Grains是收集的minion的信息,所以自定义Grains需要在minion在进行。
编辑/etc/salt/minion文件,这里将grains注释去掉
grains:
roles:
- webserver
- memcache
重启salt-minion,并运行salt ‘*’ grains.get roles来查看grains。
Grains应用场景
- Grains可以在state系统中使用,用于配置管理模块
- Grains可以在target中使用,用来匹配Minion,比如使用操作系统,使用-G选项
- Grains可以用于信息查询,Grains保存着收集到的客户端信息。可以将这些信息保存在数据库中并自定义页面
来管理minion机器。
标签:grains,Grains,minion,Salt,nginx,os,salt,Stack 来源: https://blog.csdn.net/zhaoruda/article/details/89042867