SaltStack--grains

Posted 韩乾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SaltStack--grains相关的知识,希望对你有一定的参考价值。

 

grains是minion第一次启动的时候采集的静态数据,可以用在salt的模块和其他组件中。其实grains在每次的minion启动(重启)的时候都会采集,即向master汇报一次的

 

定义方式

/etc/salt/minion     # 优先级最高
grains:
  OS:
    - Xen
    - 1.1.1.1
  http: nginx

/etc/salt/grains     # 优先级次之
  OS:
    - Xen
    - 1.1.1.1
  http: nginx

/srv/salt/_grains/    # 优先级最低
xxx.py

 

 

使用grains
salt * sys.list_functions grains
salt * grains.items
salt * grains.ls
salt * grains.get ipv4
salt * grains.item os ipv4

 

 

关联Pillar

定义Pillar
cat /srv/pillar/top.sls
base:
*:
- packages
- kkk


cat /srv/pillar/packages.sls
{% if grains[os] == RedHat %}
apache: httpd
{% elif grains[os] == CentOS %}
apache: apache2
{% endif %}

 

 

关联Pillar
cat /srv/salt/_grains/sys_base.py

省略...
grains[npus] = __pillar__[apache]
省略...

 

 

以上是关于SaltStack--grains的主要内容,如果未能解决你的问题,请参考以下文章

saltstack2 grains模块

SaltStack--grains

SaltStack Grains 和 Pillar

saltstack grains

saltstack grains pillar

saltstack grains与pillar使用和订制