saltstack的一些sls巧用的技巧

2021-10-04 11:28:08 字數 2270 閱讀 9682

按照,最實用優先原則,優先貼出官方對引數的介紹涉及頁面:

全域性failhard引數的介紹:  

sls相互依賴或相互連線的各大引數: 

failhard引數介紹:

實際環境中,我們會有中斷需求,當乙個state出現異常,我們不希望與之有關的state開始執行,甚至在它後面的state也終止執行;而failhard可以滿足我們的需求

用法:可以在master的配置檔案中配置全域性的stats都有此效果,後者在某乙個stat裡面的某個模組下監控,或者監控整乙個state的狀態。

例子:第一種:

wget:

pkg.installed:

- name: wget

yi: cmd.run:

- name: echo aaa

- cwd: /

file.managed:

- names:

- /root/heheda.txt:

- source: /root/sha

- /root/passwd.txt:

- source: /root/shadow

- failhard: true

er: cmd.run:

- name: echo "a='/root/a.txt'";

- cwd: /

san:

cmd.run:

- name: echo "heheda"

- cwd: /

解釋:在yi的state中file模組裡有failhard,這就表示,只要全域性沒有配置這個failhard,那麼當這裡的檔案複製中其中乙個檔案複製失敗,那麼er和san的state就不會被執行

第二種:

wget:

pkg.installed:

- name: wget

yi: cmd.run:

- name: echo aaa

- cwd: /

- failhard: true

file.managed:

- names:

- /root/heheda.txt:

- source: /root/sha

- /root/passwd.txt:

- source: /root/shadow

er: cmd.run:

- name: echo "a='/root/a.txt'";

- cwd: /

san:

cmd.run:

- name: echo "heheda"

- cwd: /

解釋:在yi的state中file模組裡有failhard,這就表示,只要全域性沒有配置這個failhard,那麼當這裡的檔案複製中其中乙個檔案複製失敗,只要yi中的cmd模組中的run執行正常,則會繼續執行er和san的stat內容

onchanges引數介紹:

實際環境中,我們會有某個stat執行需要乙個前置條件或所有前置條件能執行成功,否則它就不能被執行,這個引數就是用來檢查之前的state是否被執行成功的

用法:就是在某個需要前置state的state下放上這個引數就可以了

具體用法如下:

wget:

pkg.installed:

- name: wget

yi: cmd.run:

- name: echo aaa

- cwd: /

file.managed:

- names:

- /root/heheda.txt

- source:/root/sha

er: cmd.run:

- name: echo "a='/root/a.txt'";

- cwd: /

san:

cmd.run:

- name: echo "heheda"

- cwd: /

- onchanges:

- cmd: yi

- cmd: er

- file: yi

解釋:想要執行san這個state,則必須要把yi中的cmd還有file執行成功;還有er中的cmd也要執行成功;

值的注意的是,這個onchanges只監控乙個job的result結果,file的監控最好直接指向某個檔案會比較準備,否則如果是操作多個檔案則會存在異常問題。

- file: yi可以改寫成 - file: /root/heheda.txt

這裡的內容也很不錯,建議自己看吧:

saltstack的sls檔案樹與sls檔案編寫

在使用salt配置一些主機的時候會經常的用到sls檔案樹,這個目錄我們可以在master上的 etc salt master檔案中進行修改,預設的路徑如下 file roots base srv salt 通常是在 srv salt之下,然後也有應用與pillar系統的檔案樹,大體的結構相同.之前提...

SaltStack 一些常用模組舉例

一 使用者和使用者組模組 說明 該sls檔案用來在minion端建立nginx使用者和nginx使用者組,當建立nginx使用者時,對nginx使用者組是否已存在做判斷!1 srv salt create user nginx user.sls nginx user user.present nam...

一些人,一些事,一些

我覺得這是國內it企業浮躁和傳統的官本位性質決定的,導致國內企業都本末倒置。要想改變命運,我覺得有以下出路 1.不做技術了,改做混混 混混的概念很廣泛的,比如銷售 經理 幹部 皮包公司之類其實都屬於這類。中國就是這樣,越浮越掙錢,只有混混才能發財。要不更進一步,做流氓,廣義的流氓,也很不錯。2.專心...