`

salt grains - store static data in grains

阅读更多
saltstack 学习之grains
【基本介绍】
Salt comes with an interface to derive information about the underlying system. This is called the grains interface, because it presents salt with grains of information.It is important to remember that grains are bits of information loaded when the salt minion starts, so this information is static. This means that the information in grains is unchanging, therefore the nature of the data is static. So grains information are things like the running kernel, or the operating system.(grains是跟系统有关的存储一下不变的变量,例如kernel,操作系统等参数)

我对pillar,grains的区别理解
pillar - 存储会变动的变量
grains - 存储不变的变量

【配置】
文件:/etc/salt/minion
配置grains的变量以及刷新,缓存等
# Custom static grains for this minion can be specified here and used in SLS
# files just like all other grains. This example sets 4 custom grains, with
# the 'roles' grain having two values that can be matched against:
#grains:
#  roles:
#    - webserver
#    - memcache
#  deployment: datacenter4
#  cabinet: 13
#  cab_u: 14-15

# The grains_refresh_every setting allows for a minion to periodically check
# its grains to see if they have changed and, if so, to inform the master
# of the new grains. This operation is moderately expensive, therefore
# care should be taken not to set this value too low.
#
# Note: This value is expressed in __minutes__!
#
# A value of 10 minutes is a reasonable default.
#
# If the value is set to zero, this check is disabled.
#grains_refresh_every = 1

# Cache grains on the minion. Default is False.
# grains_cache: False

# Grains cache expiration, in seconds. If the cache file is older than this
# number of seconds then the grains cache will be dumped and fully re-populated
# with fresh data. Defaults to 5 minutes. Will have no effect if 'grains_cache'
# is not enabled.
# grains_cache_expiration: 300


【原则】
grains是可以覆盖的,原则是4到1依次覆盖
Core grains can be overridden by custom grains. As there are several ways of defining custom grains, there is an order of precedence which should be kept in mind when defining them. The order of evaluation is as follows:

   1. Core grains.
   2. Custom grains in /etc/salt/grains.
   3. Custom grains in /etc/salt/minion.
   4. Custom grain modules in _grains directory, synced to minions.

Each successive evaluation overrides the previous ones, so any grains defined in /etc/salt/grains that have the same name as a core grain will override that core grain. Similarly, /etc/salt/minion overrides both core grains and grains set in /etc/salt/grains, and custom grain modules will override any grains of the same name.

【使用】
salt '*' grains.items  - 获得所有的grains
salt -G 'os:CentOS' test.ping  - ping所有os是CentOS的

【参考】
http://docs.saltstack.com/en/latest/topics/targeting/grains.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics