Groups
SaltStack 以 * 為目標
我在我的 linux 機器上使用 SaltStack 並想定義節點組。我知道複合匹配和僕從列表等。
這就是我所需要的,它以這種方式工作,但是使用大量伺服器很難維護
nodegroups: group1: 'srv1,srv2,srv3,srv4,dev1,dev2,stage1,stage2'
為了簡單起見,我試圖以這種方式定義它們:
nodegroups: group1: 'srv*,dev*,stage*'
但我找不到正確的方法。有任何想法嗎?
-=編輯=-
我嘗試了Dan Garthwaite的解決方案,但沒有奏效。我什至在安裝了 Salt 版本 2014.1.4 的私人開發伺服器上進行了嘗試。這就是我得到的。
嘗試正常列表(完整主機名)
fmohr@salt-master:~$ sudo salt -v -C 'L@dns01,apache' test.ping Executing job with jid 20140708072832751715 ------------------------------------------- dns01: True apache: True
帶一個萬用字元
fmohr@salt-master:~$ sudo salt -v -C 'L@dns*,apache' test.ping Executing job with jid 20140708072837257646 ------------------------------------------- apache: True
帶有所有萬用字元
fmohr@salt-master:~$ sudo salt -v -C 'L@dns*' test.ping No minions matched the target. No command was sent, no jid was assigned. fmohr@salt-master:~$ sudo salt -v -C 'L@dns*,apach*' test.ping No minions matched the target. No command was sent, no jid was assigned.
我認為您不能在列表中使用萬用字元,但我不知道如何將鹽用於目標 dns* 和 apach*(例如)。
您應該使用或連接它們,如下所示:
nodegroups: group1: 'srv* or dev* or stage*' salt -C 'srv* or dev* or stage*' test.ping
在我的機器上測試。
節點組使用此處定義的複合匹配:
http://docs.saltstack.com/en/latest/topics/targeting/compound.html
你的答案是:
nodegroups: group1: L@srv*,dev*,stage*
請記住,您還可以使用顆粒和/或柱子通過複合匹配器來瞄準小兵。