salt 基本组建之 grains,pillars(整理中)

grains

minion基本信息的管理

基本使用:

salt '*' grains.ls  查看grains分类
salt '*' grains.items 查看grains所有信息
salt '*' grains.item osrelease 查看grains某个信息

自定义grains信息

Grains 信息可以在 minion 配置文件 /etc/salt/minion 中静态定义,自定义的 grains 可以将 Core grains 定义的信息覆盖,示例如下:

grains:
  roles:
    - webserver
    - memcache
  deployment: datacenter4
  cabinet: 13
  cab_u: 14-15

如果不希望将配置信息定义在 /etc/salt/minion 可以将配置信息写入 /etc/salt/grains,示例如下:

roles:
  - webserver
  - memcache
deployment: datacenter4
cabinet: 13
cab_u: 14-15

重启 salt-minion 服务后,在 salt 'host' grains.items 可以查看自定义的信息是否生效,下面有几种自定义grains的方式,如果这些定义方式同时存在,则遵守如下由低到高的优先级:

  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.item osrelease
  minoin1:
    osrelease: 6.2

在用salt进行管理客户端的时候或者写state的时候都可以引用grains的变量

文档:http://docs.saltstack.com/topics/targeting/grains.html

pillar

salt敏感信息的管理,只有匹配到的节点才能看到和使用

salt '*' pillar.items

文档:http://docs.saltstack.com/topics/tutorials/pillar.html

开启敏感信息配置管理 Pillar settings

编辑 /etc/salt/master 文件

pillar_roots:
  base:
    - /srv/pillar

mkdir -p /srv/pillar

默认:pillar数据定义文件存储路径:/srv/pillar

入口文件:/srv/pillar/top.sls

base:
  "targeting":
    - pillar            #名字为pillar.sls的文件来存放对匹配到的minion的变量

$pillar.sls

#基本:

$key: $value
#对应state引用方式: {{ pillar['$key'] }} 

#复杂:
users:
  thatch: 1000
  shouse: 1001
  utahdave: 1002
  redbeard: 1003   
#state引用方式:
#{% for user, uid in pillar.get('users', {}).items() %}
#  {{user}}:
#    user.present:
#      - uid: {{uid}}
#{% endfor %}

查看节点的pillar数据:

salt 'client2' pillar.data

同步pillar:

salt '*' saltutil.refresh_pillar

附:这里我们可以看到,pallar中也可以使用jinja

文档:http://docs.saltstack.com/topics/tutorials/pillar.html

你可能感兴趣的:(salt 基本组建之 grains,pillars(整理中))