web-dev-qa-db-ja.com

*でミニオンをターゲットにするSaltStack

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

1つのワイルドカードで

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を取得する方法がわかりません(例として)。

1
mohrphium

次のように、またはを使用して接続する必要があります。

nodegroups:
    group1: 'srv* or dev* or stage*'

salt -C 'srv* or dev* or stage*' test.ping

私のマシンでテストしました。

3
Rolling Panda

ノードグループは、ここで定義されている複合マッチングを使用します。

http://docs.saltstack.com/en/latest/topics/targeting/compound.html

あなたの答えは:

nodegroups:
  group1: L@srv*,dev*,stage*

穀物や柱を使用して、コンパウンドマッチャーを介してミニオンをターゲットにすることもできます。

2
Dan Garthwaite

私は今穀物でそれをしました。追加しました

grains:
  group: groupname

私の手先の/etc/salt/minion.d/minion.confにあります。これは、ミニオンがミニオン側でどの役割を取得するかを定義するため、実際には私が望んでいたものではありません。これは、セキュリティの観点からは最適ではありません(さらに、マスターですべてのグループを定義する方が便利です)。

プラス面として、どのグループにも属していないサーバーの粒度を未定義に設定でき、すべての未定義サーバーのリストを取得する方が簡単です。

助けてくれてありがとう。まだ解決されていないので、これは未解決のままにしておきます(マスターでこれを行う方法を誰かが知っている場合は、教えてください)

0
mohrphium