saltstack:關於在多環境中top file查找順序的問題

環境

  • minion id:localhtml

  • master上多環境配置:一個base環境,一個test環境markdown

file_roots:  
  base:
    - /srv/salt/base  
  test:
    - /srv/salt/test


每一個環境下分別建立top.sls:
app

cat base/top.sls

# base環境中的top.sls,包含base環境的state定義(test1)和test環境的state定義(test2)
base:
  'local':
    - test1
test:
  'local':
    - test2
cat test/top.sls

# test環境中的top.sls,只有test環境的state定義(test3)
test:
  'local':
    - test3


測試過程

使用 salt 命令執行state模塊的show_top方法,能夠查看minion將會執行的top file,配合saltenv參數,能夠切換不一樣的環境。ide

  1. 執行命令:salt local state.show_top 輸出:測試

local:
    ----------
    base:
        - test1
    test:
        - test2
  1. 執行命令:salt local state.show_top saltenv=base 輸出:spa

local:
    ----------    
    base:
        - test1
  1. 執行命令:salt local state.show_top saltenv=test 輸出:orm

local:
    ----------    
    test:
        - test3

結論

  • 當不指定執行環境時,salt會執行base環境中的top.sls裏定義的全部state。如例子中的test1和test2。htm

  • 當指定執行環境爲base時(saltenv=base),salt只會執行base環境中的top.sls裏base定義的state。如例子中的test1。get

  • 當指定執行環境爲test時(saltenv=test),salt只會執行test環境中的top.sls裏base定義的state。如例子中的test3。it

參考:saltstack top

相關文章
相關標籤/搜索