Mestre de marionetes

No Puppet, a arquitetura cliente-servidor do Puppet master é considerada a autoridade controladora de toda a configuração. O Puppet master atua como o servidor na configuração e controla todas as atividades em todos os nós.

Para qualquer servidor que precise atuar como mestre do Puppet, ele deve ter o software do servidor Puppet em execução. Este software de servidor é o principal componente do controle de todas as atividades nos nós. Nesta configuração, um ponto chave a lembrar é ter um acesso de superusuário a todas as máquinas que serão usadas na configuração. A seguir estão as etapas para configurar o Puppet master.

Pré-requisitos

Private Network DNS- Deve ser configurado para frente e para trás, em que cada servidor deve ter um nome de host exclusivo. Se não houver DNS configurado, pode-se usar uma rede privada para comunicação com a infraestrutura.

Firewall Open Port- O Puppet master deve ser aberto em uma porta específica para que possa ouvir as solicitações de entrada em uma porta específica. Podemos usar qualquer porta que esteja aberta no firewall.

Criando o Puppet Master Server

O Puppet master que estamos criando será na máquina CentOS 7 × 64 usando Puppet como o nome do host. A configuração mínima do sistema para a criação do Puppet master é de dois núcleos de CPU e 1 GB de memória. A configuração também pode ter um tamanho maior dependendo do número de nós que iremos gerenciar com este mestre. Na infraestrutura, é maior do que configurado com 2 GB de RAM.

Nome de anfitrião Função FQDN privado
Brcleprod001 Mestre de marionetes bnrcleprod001.brcl.com

Em seguida, é necessário gerar o certificado SSL mestre Puppet e o nome da máquina mestre será copiado no arquivo de configuração de todos os nós.

Instalando NTP

Como o Puppet master é a autoridade central para os nós do agente em qualquer configuração, é uma das principais responsabilidades do Puppet master manter a hora do sistema precisa para evitar possíveis problemas de configuração, que podem surgir quando ele emite certificados do agente para os nós.

Se surgir o problema de conflito de tempo, os certificados podem parecer expirados se houver discrepâncias de tempo entre o mestre e o nó. O protocolo de tempo de rede é um dos principais mecanismos para evitar esse tipo de problema.

Listando fusos horários disponíveis

$ timedatectl list-timezones

O comando acima fornecerá uma lista completa de fusos horários disponíveis. Ele fornecerá às regiões disponibilidade de fuso horário.

O comando a seguir pode ser usado para definir o fuso horário necessário na máquina.

$ sudo timedatectl set-timezone India/Delhi

Instale o NTP na máquina do servidor Puppet usando o utilitário yum da máquina CentOS.

$ sudo yum -y install ntp

Sincronize o NTP com a hora do sistema que definimos nos comandos acima.

$ sudo ntpdate pool.ntp.org

Na prática comum, atualizaremos a configuração do NTP para usar pools comuns que estão disponíveis mais perto dos datacenters da máquina. Para isso, precisamos editar o arquivo ntp.conf em/etc.

$ sudo vi /etc/ntp.conf

Adicione o servidor de horário dos fusos horários disponíveis do pool NTP. Veja a seguir a aparência do arquivo ntp.conf.

brcleprod001.brcl.pool.ntp.org 
brcleprod002.brcl.pool.ntp.org 
brcleprod003.brcl.pool.ntp.org
brcleprod004.brcl.pool.ntp.org

Salve a configuração. Inicie o servidor e ative o daemon.

$ sudo systemctl restart ntpd 
$ sudo systemctl enable ntpd

Configuração do software Puppet Server

O software de servidor Puppet é um software executado na máquina mestre Puppet. É a máquina que envia as configurações para outras máquinas que executam o software do agente Puppet.

Habilite o repositório oficial da coleção do Puppet Labs usando o seguinte comando.

$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm

Instale o pacote puppetserver.

$ sudo yum -y install puppetserver

Configure a Alocação de Memória no Servidor Puppet

Conforme discutimos, por padrão, o servidor Puppet é configurado em uma máquina de 2 GB de RAM. Pode-se personalizar a configuração de acordo com a memória livre disponível na máquina e quantos nós o servidor irá gerenciar.

Edite a configuração do servidor puppet no modo vi

$ sudo vi /etc/sysconfig/puppetserver  
Find the JAVA_ARGS and use the –Xms and –Xms options to set the memory allocation. 
We will allocate 3GB of space  
JAVA_ARGS="-Xms3g -Xmx3g"

Uma vez feito isso, salve e saia do modo de edição.

Depois que toda a configuração acima for concluída, estamos prontos para iniciar o servidor Puppet na máquina mestre com o seguinte comando.

$ sudo systemctl start puppetserver

A seguir, faremos a configuração para que o servidor puppet inicie sempre que o servidor master inicializar.

$ sudo systemctl enable puppetserver

Seção Mestre Puppet.conf

[master] 
autosign = $confdir/autosign.conf { mode = 664 } 
reports = foreman 
external_nodes = /etc/puppet/node.rb 
node_terminus = exec 
ca = true 
ssldir = /var/lib/puppet/ssl 
certname = sat6.example.com 
strict_variables = false 
manifest = 
/etc/puppet/environments/$environment/manifests/site.pp 
modulepath = /etc/puppet/environments/$environment/modules 
config_version =