SaltStack segmentando lacaios com *

1

Estou usando o SaltStack em minhas caixas linux e quero definir grupos de nós. Eu sei sobre correspondência combinada e listas de minion, etc.

Isso é o que eu preciso, e funciona assim, mas é difícil de manter com muitos servidores

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

Para simplificar, estou tentando defini-los desta maneira:

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

Mas não consigo encontrar uma maneira de fazer isso direito. Alguma idéia?

- = EDIT = -

Eu tentei a solução Dan Garthwaite , mas não funcionou. Eu até tentei no meu servidor privado, que tem a versão 2014.1.4 do Salt instalada. Isso é o que eu recebo.

Tentando como lista normal (hostnames completos)

fmohr@salt-master:~$ sudo salt -v -C 'L@dns01,apache' test.ping
Executing job with jid 20140708072832751715
-------------------------------------------

dns01:
    True
apache:
    True

com um curinga

fmohr@salt-master:~$ sudo salt -v -C 'L@dns*,apache' test.ping
Executing job with jid 20140708072837257646
-------------------------------------------

apache:
    True

com todos os curingas

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.

Eu não acho que você pode usar curingas em listas, mas não tenho idéia de como obter salt para direcionar dns * e apach * (como exemplo).

    
por mohrphium 07.07.2014 / 16:54

3 respostas

3

você deve usar ou conectá-los, assim:

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

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

testado na minha máquina.

    
por 23.07.2014 / 06:28
2

Os grupos de nós usam correspondência composta conforme definido aqui:

link

Sua resposta é:

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

Lembre-se de que você também pode usar grãos e / ou pilares para segmentar lacaios por meio do combinador composto.

    
por 07.07.2014 / 19:39
0

Eu fiz isso com grãos agora. Acabei de adicionar

grains:
  group: groupname

no /etc/salt/minion.d/minion.conf em meus minions. Não é exatamente o que eu queria, pois isso define quais papéis o minion obtém no lado lacaio, o que não é o ideal de uma perspectiva de segurança (além disso, seria mais conveniente definir todos os grupos no mestre.)

No lado positivo, posso definir a granularidade dos servidores que não pertencem a nenhum grupo como undefined e é mais fácil obter uma lista de todos os servidores indefinidos.

Obrigado pela ajuda. Vou deixar isso ficar sem solução, já que não está realmente resolvido (se alguém souber como fazer isso no master, por favor me avise)

    
por 09.07.2014 / 13:06