Fantoche - Configuração

Assim que tivermos o Puppet instalado no sistema, o próximo passo é configurá-lo para realizar certas operações iniciais.

Abrir portas de firewall em máquinas

Para fazer com que o servidor Puppet gerencie o servidor do cliente centralmente, é necessário abrir uma porta especificada em todas as máquinas, ou seja, 8140pode ser usado se não estiver em uso em nenhuma das máquinas que estamos tentando configurar. Precisamos habilitar a comunicação TCP e UDP em todas as máquinas.

Arquivo de configuração

O principal arquivo de configuração do Puppet é etc/puppet/puppet.conf. Todos os arquivos de configuração são criados em uma configuração baseada em pacote do Puppet. A maior parte da configuração necessária para configurar o Puppet é mantida nesses arquivos e, uma vez que a execução do Puppet ocorre, ele pega essas configurações automaticamente. No entanto, para algumas tarefas específicas, como configurar um servidor web ou uma Autoridade de Certificação (CA) externa, o Puppet tem configurações separadas para arquivos e configurações.

Os arquivos de configuração do servidor estão localizados em conf.ddiretório que também é conhecido como o mestre do fantoche. Esses arquivos estão, por padrão, localizados em/etc/puppetlabs/puppetserver/conf.dcaminho. Esses arquivos de configuração estão no formato HOCON, que mantém a estrutura básica do JSON, mas é mais legível. Quando a inicialização do Puppet ocorre, ele coleta todos os arquivos .cong do diretório conf.d e os usa para fazer quaisquer alterações de configuração. Quaisquer alterações nesses arquivos só ocorrem quando o servidor é reiniciado.

Arquivo de lista e arquivo de configurações

  • global.conf
  • webserver.conf
  • web-routes.conf
  • puppetserver.conf
  • auth.conf
  • master.conf (obsoleto)
  • ca.conf (obsoleto)

Existem diferentes arquivos de configuração no Puppet que são específicos para cada componente do Puppet.

Puppet.conf

O arquivo Puppet.conf é o principal arquivo de configuração do Puppet. O Puppet usa o mesmo arquivo de configuração para configurar todos os comandos e serviços Puppet necessários. Todas as configurações relacionadas ao Puppet, como a definição do mestre do Puppet, agente do Puppet, aplicação do Puppet e certificados, são definidos neste arquivo. O Puppet pode consultá-los conforme a necessidade.

O arquivo de configuração se assemelha a um arquivo ini padrão em que as configurações podem ir para a seção de aplicativo específico da seção principal.

Seção de configuração principal

[main] 
certname = Test1.vipin.com 
server = TestingSrv 
environment = production 
runinterval = 1h

Arquivo de configuração do Puppet Master

[main] 
certname = puppetmaster.vipin.com 
server = MasterSrv 
environment = production 
runinterval = 1h 
strict_variables = true  
[master] 

dns_alt_names = MasterSrv,brcleprod01.vipin.com,puppet,puppet.test.com 
reports = puppetdb 
storeconfigs_backend = puppetdb 
storeconfigs = true 
environment_timeout = unlimited

Visão geral detalhada

Na configuração do Puppet, o arquivo que será usado tem várias seções de configuração, em que cada seção tem diferentes tipos de vários números de configurações.

Seção de configuração

O arquivo de configuração do Puppet consiste principalmente nas seguintes seções de configuração.

  • Main- Isso é conhecido como a seção global que é usada por todos os comandos e serviços no Puppet. Um define os valores padrão na seção principal que podem ser substituídos por qualquer seção presente no arquivo puppet.conf.

  • Master - Esta seção é referenciada pelo serviço Puppet master e pelo comando Puppet cert.

  • Agent - Esta seção é indicada pelo serviço de agente da Puppet.

  • User - É usado principalmente pelo comando de aplicação do Puppet, bem como por muitos dos comandos menos comuns.

[main] 
certname = PuppetTestmaster1.example.com

Principais componentes do arquivo de configuração

A seguir estão os principais componentes do arquivo de configuração.

Linhas de Comentário

No Puppet, qualquer linha de comentário começa com (#) placa. Isso pode ser feito com qualquer quantidade de espaço. Podemos ter um comentário parcial também na mesma linha.

# This is a comment. 
Testing = true #this is also a comment in same line

Linhas de configuração

A linha de configurações deve consistir em -

  • Qualquer quantidade de espaço inicial (opcional)
  • Nome das configurações
  • Um igual = para assinar, que pode ser circundado por qualquer número de espaço
  • Um valor para a configuração

Configurando Variáveis

Na maioria dos casos, o valor das configurações será uma única palavra, mas em alguns casos especiais, existem alguns valores especiais.

Caminhos

Nas definições do arquivo de configuração, obtenha uma lista de diretórios. Ao definir esses diretórios, deve-se ter em mente que eles devem ser separados pelo caractere separador de caminho do sistema, que é (:) em plataformas * nix e ponto-e-vírgula (;) no Windows.

# *nix version: 
environmentpath = $codedir/special_environments:$codedir/environments 
# Windows version: 
environmentpath = $codedir/environments;C:\ProgramData\PuppetLabs\code\environment

Na definição, o diretório do arquivo listado primeiro é verificado e, posteriormente, passa para o outro diretório da lista, se não encontrar um.

Arquivos e diretórios

Todas as configurações que usam um único arquivo ou diretório podem aceitar um hash opcional de permissões. Quando o servidor está sendo inicializado, o Puppet reforçará esses arquivos ou diretórios na lista.

ssldir = $vardir/ssl {owner = service, mode = 0771}

No código acima, os hash permitidos são proprietário, grupo e modo. Existem apenas dois valores válidos para as chaves do proprietário e do grupo.