Usando o hostname como ambiente no Puppet

3

Gostaria de usar o recurso de ambientes do Puppet em meus ambientes. Diferenciamos os ambientes por meio do nome do host, por exemplo, prod-web1, stg-web1. Eu sei que posso usar regex para combinar com isso em um único ambiente, mas prefiro usar a funcionalidade de ambientes real para permitir que as atualizações de módulo sejam propagadas em cada ambiente.

Do meu entendimento, existem duas maneiras de fazer isso, e as duas maneiras têm alguns problemas;

-Eu posso definir a variável de ambiente na configuração do agente fantoche. Isso requer interação com cada host. Obviamente, isso poderia ser administrado de forma trivial com o Puppet, mas a primeira execução aplicará as configurações de produção padrão, e eu realmente preferiria se não o fizesse.

-Eu posso definir a variável de ambiente ao executar o agente, mas eu precisaria colocar o agente no cron para especificar isso, e eu perderia os benefícios do splay interno do fantoche.

Como posso vincular uma caixa a um ambiente com base em seu nome de host?

    
por alexphilipp 22.06.2013 / 07:07

1 resposta

3

Ambas as opções.

O que eu faço para isso é ter o Puppet gerenciando os dados puppet.conf e Hiera para o nó configurado com o qual deve estar (enquanto você estará usando um regex no nome do host para determinar isso). / p>

Para evitar o problema de aplicar a configuração de produção na primeira execução, evito deixá-la executar até que eu seja capaz de iniciar essa primeira execução manualmente (não assinar o certificado até que eu esteja pronto), depois executando a primeira execução com puppet agent --test --environment staging - que fará o ambiente de preparação explicitamente para essa execução, além de modificar o puppet.conf com a configuração correta para execuções futuras.

    
por 22.06.2013 / 08:52

Tags