如何更改默认的 saltenv?
How to change default saltenv?
我正在尝试更改我的 salt master 上的默认 saltenv 值。
我需要所有 minions 从我的 salt master 那里获得 production
环境。我删除了 base
环境,并进行了以下配置:
file_roots:
production:
- /srv/salt/production/states
- /srv/salt/production/formulas
pillar_roots:
production:
- /srv/salt/production/pillar
并且:
state_top_saltenv: production
default_top: production
top_file_merging_strategy: same
但是,当我 运行 :
salt 'myminion' state.highstate
我得到:
No Top file or master_tops data matches found. Please see master log for details.
运行state.apply
,有效。
这是为什么?如何获得 state.apply 和 state.highstate 相应的行为?
我通过尝试理解文档获得了这些设置,但我知道它没有按照我想要的方式配置:
- 生产环境应该是唯一一个在minion schedule上被选择的运行
- 环境应该隔离,不要合并来自不同环境的数据
- 能够将单个 minion 配置为 运行 不同的 saltenv
- 能够 运行 从大师那里获得特定的 saltenv(例如
saltenv=devel
)
为了从 base
saltenv 迁移到 production
,我做了以下工作:
- 在状态 top.sls 中,更改所有
base:
次出现
- 在支柱top.sls中,做同样的事情
- 在 minion 配置中用
saltenv: production
指定它的环境
如果您使用 default_top: production
,则可能不需要最后一步。
我想就这些了,我有一些带有厨房测试的最小代码来验证它,如果你需要的话我可以分享。
更新:default_top: production
足以使高状态正确运行,但如果您想运行特定状态(with salt <minion> state.sls foo
) => 您需要在 command-line 中指定 saltenv
参数或将其添加到您的 minion 配置中
我正在尝试更改我的 salt master 上的默认 saltenv 值。
我需要所有 minions 从我的 salt master 那里获得 production
环境。我删除了 base
环境,并进行了以下配置:
file_roots:
production:
- /srv/salt/production/states
- /srv/salt/production/formulas
pillar_roots:
production:
- /srv/salt/production/pillar
并且:
state_top_saltenv: production
default_top: production
top_file_merging_strategy: same
但是,当我 运行 :
salt 'myminion' state.highstate
我得到:
No Top file or master_tops data matches found. Please see master log for details.
运行state.apply
,有效。
这是为什么?如何获得 state.apply 和 state.highstate 相应的行为?
我通过尝试理解文档获得了这些设置,但我知道它没有按照我想要的方式配置:
- 生产环境应该是唯一一个在minion schedule上被选择的运行
- 环境应该隔离,不要合并来自不同环境的数据
- 能够将单个 minion 配置为 运行 不同的 saltenv
- 能够 运行 从大师那里获得特定的 saltenv(例如
saltenv=devel
)
为了从 base
saltenv 迁移到 production
,我做了以下工作:
- 在状态 top.sls 中,更改所有
base:
次出现 - 在支柱top.sls中,做同样的事情
- 在 minion 配置中用
saltenv: production
指定它的环境
如果您使用 default_top: production
,则可能不需要最后一步。
我想就这些了,我有一些带有厨房测试的最小代码来验证它,如果你需要的话我可以分享。
更新:default_top: production
足以使高状态正确运行,但如果您想运行特定状态(with salt <minion> state.sls foo
) => 您需要在 command-line 中指定 saltenv
参数或将其添加到您的 minion 配置中