一千萬個為什麽

搜索

Salt Stack環境忽略saltenv



我有一個配置了四個環境的鹽主(基礎,開發,分期,產品)

我最初試圖設置一個支柱項目來跟蹤哪個環境正在使用,即core:env

但是,當我嘗試使用以下命令切換環境時,我總是會獲得開發環境(與我放置的env無關)

salt'deploy *'pillar.get core:env saltenv = base

這是我的配置文件

/etc/salt/master (partial)
file_roots:
  base:
    - /srv/salt/base/states
  dev:
    - /srv/salt/dev/states
    - /srv/salt/base/states
  staging:
    - /srv/salt/staging/states
    - /srv/salt/base/states
  prod:
    - /srv/salt/prod/states
    - /srv/salt/base/states


pillar_roots:
  base:
    - /srv/pillar/base/pillars
  dev:
    - /srv/pillar/dev/pillars
    - /srv/pillar/base/pillars
  staging:
    - /srv/pillar/staging/pillars
    - /srv/pillar/base/pillars
  prod:
    - /srv/pillar/prod/pillars
    - /srv/pillar/base/pillars

和我的支柱

[email protected]:/srv/pillar# cat base/pillars/top.sls
base:
  'deploy':
    - core
[email protected]:/srv/pillar# cat base/pillars/core.sls
core:
  env: base
[email protected]:/srv/pillar# cat dev/pillars/top.sls
dev:
  'deploy':
    - core
[email protected]:/srv/pillar# cat dev/pillars/core.sls
core:
  env: dev

(其余的遵循相同的模式)

我還有其他數據正在被撤出,但是核心:env項目不會從dev改變。

轉載註明原文: Salt Stack環境忽略saltenv

一共有 1 個回答:

國家和支柱環境是獨立設定的。

Specifing

environment: prod

在小兵配置中會迫使小兵使用prod狀態,但它仍然會使用默認的支柱數據。要選擇支柱環境,您還需要:

pillarenv: prod

這也不適用於鹽的舊版本,並且僅支持salt.version版本的pillar.get 2016.3,因此您可能需要更新。