Agrupando nós no fantoche

2

No meu manifesto site.pp, tenho o seguinte

import "nodes/*.pp"

Isso me permite criar arquivos separados para grupos diferentes. No entanto, dentro de cada arquivo .pp, eu ainda tenho que definir explicitamente o nome dos nós que eu quero aplicar módulos e classes, assim:

node puppet-client-1 {
  include testmodule
}

Minha pergunta é: Como eu agrupo um número de nós juntos e, em seguida, aplico módulos e / ou classes a esse grupo de nós? por exemplo:

group testgroup{
  puppet-client1
  puppet-client2
}

node webservers
{
  include testmodule
}

Enquanto estou aqui, meu log está cuspindo:

The use of 'import' is deprecated at /etc/puppet/manifests/site.pp:2

Se isso for preterido, como dividir meus arquivos de manifesto em grupos?

Obrigado :)

    
por Toby Wilkins 25.04.2015 / 16:25

2 respostas

4

Existem duas maneiras:

1) Múltiplos nomes de nós em uma linha:

node 'puppet-client1', 'puppet-client2' {
    include testmodule
}

Veja link

2) Os nós podem ser definidos com expressões regulares, por exemplo:

node /^puppet-client[0-9]+/{
  include testmodule
}

mas isso depende de um esquema de nomenclatura de host adequado.

link

    
por 26.04.2015 / 08:48
0

A maneira mais fácil de fazer isso é realmente escrever um ENC - um Classificador de Nó Externo , que será permite que você abstraia seus 'grupos' para um script simples escrito em qualquer idioma que você esteja confortável.

Note que isso retorna classes e parâmetros , então isso pode ser usado para tornar o Puppet muito mais ansioso, para que você obtenha o melhor dos dois mundos. p>

Na documentação, o script é executado com o parâmetro do nó a ser classificado e simplesmente retorna uma descrição YAML de classes e parâmetros a serem aplicados.

    
por 08.10.2018 / 04:58

Tags