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 =