Puppet and Dynamic Environments

1

Estou tentando configurar ambientes dinâmicos usando o link como um guia. Infelizmente não estou totalmente claro sobre o que estou fazendo.

Eu criei um diretório no mestre de marionetes em / etc / puppetlabs / puppet / environments /

Copiei os exemplos de configuração do documento acima para o arquivo puppet.conf no meu mestre de marionetes. Eu adicionei as três linhas em cada seção do documento para a respectiva seção do arquivo puppet.conf, e fiz alterações para se adequar ao meu sistema (caminhos, etc ...) Antes dessas mudanças eu estava trabalhando com o padrão-post- cópia de instalação de puppet.conf

agora, quando eu tento executar o agente puppet -t --noop de uma máquina cliente, ou do servidor, recebo o seguinte erro.

err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class pe_compliance for puppet-test-01.mydomain.net on node puppet-test-01.mydomain.net
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

Se eu me livrar de todas essas coisas e colocar em um ambiente manualmente no arquivo puppet.conf no master, então eu posso adicionar environment = testenv ao arquivo puppet.conf no cliente e eu acho que tenho um novo ambiente ... mas eu não vejo nada na interface web ... então eu não tenho certeza se isso está funcionando também.

O que estou fazendo? o que eu preciso fazer a seguir

    
por TheWellington 07.01.2013 / 21:47

1 resposta

3

No Puppet Enterprise, há vários módulos que devem estar presentes para que as coisas funcionem corretamente.

Você precisará copiá-los no $ modulepath para cada ambiente ou adicionar o caminho padrão no caminho por ambiente.

O modulepath padrão para o Puppet Enterprise é (de acordo com a documentação ) /etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules .

Você precisará adicionar isso aos seus ambientes, como:

modulepath = /etc/puppet/environments/production/modules:/etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules

Eu recomendaria usar apenas um único modulepath na sua seção [master] , da seguinte forma:

modulepath = $confdir/environments/$environment/modules:/etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules

Isso não significa apenas que você digite o arquivo de configuração, como também torna trivial adicionar um novo ambiente, caso seja necessário. E, deixando o modulepath padrão no lugar, você não precisa copiar todos os módulos específicos de PE em cada ambiente.

    
por 07.01.2013 / 23:47