如何更改默认的saltenv?

时间:2019-06-25 05:05:01

标签: salt-stack

我正在尝试更改盐管理器上的默认saltenv值。

我需要所有小兵都从我的盐管理员那里获得production环境。 Il删除了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的相应行为?

我通过尝试理解文档来进行这些设置,但是我知道它没有按照我想要的方式进行配置:

  • 生产环境应该是在小黄人计划运行中唯一选择的环境
  • 环境应该隔离,不要合并来自不同环境的数据
  • 能够配置单个小兵以运行不同的saltenv
  • 从主服务器运行特定的saltenv的能力(例如,以saltenv=devel为例)

1 个答案:

答案 0 :(得分:0)

要从base saltenv转到production,我要做的事情如下:

  • 在状态top.sls中,更改所有base:的发生情况
  • 在支柱top.sls中,执行相同的操作
  • 在爪牙配置中,用saltenv: production指定其环境

如果使用default_top: production,则可能不需要上一步。

我想就是这样,我有一些带有厨房测试的最小代码,可以验证它,以便在需要时可以共享。