SaltStack 模块介绍
Grains & Pillar
简介
- Grains 是每一台 Minion 自身的 静态 属性。以 Python 字典的形式存放在 Minion 端。
- Pillar 存放 key-value 变量。存放在 Master 端,由 Master 编译好后,下发给 Minion。所以,可以存放密码之类的涉密的或是一些需要统一配置的变量。
这篇文章,就来详细说说 Grains 和 Pillar 。
Grains - minion 自身的一些静态信息
salt '*' grains.ls # 查看 grains 分类
salt '*' grains.items # 查看 grains 所有信息
salt '*' grains.item os # 查看 grains 某个信息
salt '*' grains.get os
刷新 Grains
salt '*' saltutil.sync_grains
# OR
salt '*' saltutil.sync_all
Pillar - 用来提供(敏感的)全局静态数据
http://docs.saltstack.com/en/latest/topics/pillar/index.html
http://docs.saltstack.com/en/latest/topics/best_practices.html#structuring-pillar-filesPillar 以树状结构定义在 Salt Master 上。默认位置:/srv/pillar
目录里面是由很多 sls 文件组成。由 top.sls 统管。
Pillar 可以存放结构化数据。key/value, list …
Pillar 里面的数据可以存一些敏感信息。它们会被安全送达相关的 minion。
Pillar 与 Grains 简单区别:
Grains 是 minion 自己生成、自己保存的信息。
Pillar 是 Salt Master 下发的信息。
Pillar 简单示例
# 查看 minion 的 pillar 数据
salt '*' pillar.items
salt '*' pillar.get xxx
刷新 pillar
修改 pillar 后,可以用下面命令立即同步,下发到 minion 上。
sudo salt '*' saltutil.refresh_pillar
# OR
salt '*' saltutil.sync_all
作者:{微尘大海}(weichenddahai),日期:2016-6-20, email:784456305@qq.com