LinuxボックスでSaltStackを使用していて、ノードグループを定義したいと思います。複合マッチングやミニオンリストなどについて知っています。
これは私が必要としているものであり、このように機能しますが、多くのサーバーで維持するのは困難です
nodegroups:
group1: 'srv1,srv2,srv3,srv4,dev1,dev2,stage1,stage2'
簡単にするために、私はそれらを次のように定義しようとしています。
nodegroups:
group1: 'srv*,dev*,stage*'
しかし、私はこれを正しく行う方法を見つけることができません。何か案は?
Dan Garthwaite sソリューションを試しましたが、機能しませんでした。 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 *をターゲットにするためにsaltを取得する方法がわかりません(例として)。
次のように、またはを使用して接続する必要があります。
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*
穀物や柱を使用して、コンパウンドマッチャーを介してミニオンをターゲットにすることもできます。
私は今穀物でそれをしました。追加しました
grains:
group: groupname
私の手先の/etc/salt/minion.d/minion.confにあります。これは、ミニオンがミニオン側でどの役割を取得するかを定義するため、実際には私が望んでいたものではありません。これは、セキュリティの観点からは最適ではありません(さらに、マスターですべてのグループを定義する方が便利です)。
プラス面として、どのグループにも属していないサーバーの粒度を未定義に設定でき、すべての未定義サーバーのリストを取得する方が簡単です。
助けてくれてありがとう。まだ解決されていないので、これは未解決のままにしておきます(マスターでこれを行う方法を誰かが知っている場合は、教えてください)