如何使用多个 Grain 文件并将它们组织到目录中:
# pwd
/etc/salt
这只是一个例子:
etc
└── salt
└── minion
├── minion
├── grains_1
├── app_name
└── grains_2
或者我有义务保留所有内容minion
并grains
归档?
答案1
有趣的问题。我研究了代码看起来 Grain 加载器不会通过目录进行递归。你能在你的 minion 配置中提供一个grains_dir
选项作为寻找 Grain 的额外位置,这可能会给你提供你正在寻找的东西。
谷物装载
SaltStack 颗粒使用以下优先方案来加载颗粒。
- 核心粒状物(这类似于
os
SaltStack 从系统本身获取信息的粒状物)。 - 自定义 Grain
/etc/salt/grains
(您可以向 YAML 文件中添加自定义 Grain)。 /etc/salt/minion
(minion 配置文件)中的自定义 Grain 。- _grains 目录中的自定义 Grains 模块,同步到 Minions。
动态粒度(EC2 示例)
你可以使用一些东西来动态设置 minion 的粒度,一个很好的例子是ec2_tags 颗粒模块它基本上根据分配给实例的 EC2 标签来生成一个 Grain。