2017-06-28 17 views
0

是否有人知道一種方法來過濾每個主機/組/ /等鹽模塊的使用情況。有沒有辦法像鹽柱的top.sls那樣過濾它?如何過濾鹽模塊的使用情況

例如,我有模塊來管理haproxy這取決於haproxyctl,並且只需要在具有haproxy角色的主機上運行。

+0

您可以使用'saltenv'來分離 –

+0

Pratik Anand,不清楚'saltenv'如何幫助解決這個問題,我應該使用哪種機制來過濾模塊 – neveragny

+0

您可以創建不同的環境,如後端,前端,代理等,使用你可以區分它 –

回答

0

如果你的角色被分配在小兵配置中 - 那麼他們可用於你的salt命令作爲一個普通的穀物。

E.g.如果你有一個奴才的配置,如:

<some config here> 
grains: 
    roles: 
    - haproxy 

您可以使用下面的命令來與haproxy角色只在節點上執行狀態:

salt -C '[email protected]:haproxy' <your state here> 

基本上與語法salt - C '[email protected]<grain>'可以匹配任何穀物。

+0

嗨@alexK,謝謝你的回覆,但這不是關於通過複合模式或類似的東西匹配奴才。我正在尋找類似top.sls的東西,但是對於模塊。圖像如下,你有一個模塊來控制haproxy,鹽模塊是一個python文件,有'import haproxyctl',這個模塊在所有節點上通過salt傳播,但是我沒有haproxy和haproxyctl在所有的虛擬機上。 – neveragny

+0

對不起,我還是不明白是什麼問題。如果該模塊正在傳播給你的僕從,但你永遠不會用鹽調用它,爲什麼這是一個問題? 你可以提供一些更具體的代碼片段的例子,並提到什麼是行不通的? – alexK

相關問題