Назад | Перейти на главную страницу

SaltStack нацеливается на миньонов с помощью *

Я использую SaltStack на своих Linux-компьютерах и хочу определить группы узлов. Я знаю о составных сопоставлениях, списках миньонов и т. Д.

Это то, что мне нужно, и это работает, но это сложно поддерживать с большим количеством серверов.

nodegroups:
  group1: 'srv1,srv2,srv3,srv4,dev1,dev2,stage1,stage2'
  

Чтобы не усложнять, я пытаюсь определить их так:

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

Но я не могу найти способ сделать это правильно. Любые идеи?

- = РЕДАКТИРОВАТЬ = -

Я попытался Дэн Гартвейт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 * (в качестве примера).

вы должны использовать или соединять их, например:

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 о моих миньонах. Это не совсем то, что я хотел, поскольку это определяет, какие роли миньон получает на стороне миньона, что не оптимально с точки зрения безопасности (к тому же было бы удобнее определить все группы на главном устройстве).

С другой стороны, я могу установить зернистость для серверов, которые не принадлежат ни к каким группам, на undefined, и легче получить список всех неопределенных серверов.

Спасибо за помощь. Я оставлю этот вопрос неразрешенным, поскольку он на самом деле не решен (если кто-то знает, как это сделать на мастере, скажите мне)