Saltstack里的Grains功能,讲的是minion端的静态变量,在master端通过Grains可以获得minion对应的变量值。
查看minion的全部静态变量,可以通过如下实现:
salt '10.0.10.100' grains.ls
10.0.10.100:
- SSDs
- biosreleasedate
- biosversion
- cpu_flags
- cpu_model
- cpuarch
- domain
......
静态变量是成组出现的,如上只是列出了组的key(用python的思维理解)
通过如下命令可列出key及vlaue:
salt '10.0.10.100' grains.items
10.0.10.100:
----------
SSDs:
biosreleasedate:
06/22/2012
biosversion:
6.00
cpu_flags:
- fpu
- vme
......
也可以指定查看key值,如查看系统类型:
salt '10.0.10.100' grains.item os
10.0.10.100:
----------
os:
CentOS
查看系统内核版本:
salt '10.0.10.100' grains.item kernelrelease
10.0.10.100:
----------
kernelrelease:
2.6.32-431.el6.x86_64
自定义grains.item
第一种方法:
在minion端:
修改配置文件/etc/salt/minion 中 打开
default_include: minion.d/*.conf
在minion端的/etc/salt/minion.d/ 目录下新建并编辑conf文件,如:
在minion端的/etc/salt/minion.d/ 目录下新建并编辑conf文件,如:
cat idc.conf
grains: #必须声明
idc: sjsa
user: hyxc
重启salt-minion服务,在master验证:
salt '10.0.10.100' grains.item idc
10.0.10.100:
----------
idc:
sjsa
第二种方法:
在master端添加
在/srv/salt/ 创建_grains目录,
编写grains文件,需要返回一个字典
cd /srv/salt/_grains/
vim wlink.py
def wlink():
wlink={}
wlink['wlink']='yes'
return wlink
执行如下命令推送到minion端:
salt '10.0.10.100' saltutil.sync_grains
10.0.10.100:
- grains.wlink
master端验证:
salt '10.0.10.100' grains.item wlink
10.0.10.100:
----------
wlink:
yes