Para registrar um Puppet Master em um ambiente de implantação, é necessário prepará-lo para trabalhar com o servidor do Application Services.

É possível também pode automatizar o processo de registro, consulte Registrar uma instância de solução do Puppet Master.

Pré-requisitos

  • Verifique se o Puppet Enterprise versão 3.0.1 a 3.2.3 ou o Puppet Open Source versão 3.2.4 a 3.6.2 está instalado.
  • Verifique se a última versão compatível dos agentes do Puppet está instalada. Consulte a documentação do site Puppet Labs para obter as instruções de instalação do agente.
  • Verifique se há uma máquina cliente disponível com o Puppet instalado, além do Puppet Master.
  • Verifique se o horário do sistema dos servidores do Application Services e do Puppet Master estão sincronizados. É possível usar um servidor NTP para essa finalidade. A diferença de horário entre os dois servidores não pode ser superior a 60 segundos.

Procedimento

  1. Navegue até o diretório no seu Puppet Master e crie um diretório chamado appd_nodes.
    • No Puppet Enterprise, navegue até /etc/puppetlabs/puppet/manifests/.
    • No Puppet Open Source, navegue até /etc/puppet/manifests/.
  2. Abra o arquivo /etc/puppetlabs/puppet/manifests/site.pp ou /etc/puppet/manifests/site.pp e adicione o comando import 'appd_nodes/*.pp' à primeira linha do arquivo.
  3. Na linha de comando, crie o arquivo empty_manifest_file.pp.
    • No Puppet Enterprise, insira touch /etc/puppetlabs/puppet/manifests/appd_nodes/empty_manifest_file.pp
    • No Puppet Open Source, insira touch /etc/puppet/manifests/appd_nodes/empty_manifest_file.pp
  4. Abra o arquivo de configuração do servidor mcollective e adicione a linha plugin.ssl_serializer = yaml, caso ela esteja ausente.
    • No Puppet Enterprise, abra o arquivo /etc/puppetlabs/mcollective/server.cfg.
    • No Puppet Open Source, abra o arquivo /etc/mcollective/server.cfg.
  5. Baixe os arquivos de agente appdintegn.rb e appdintegn.ddl.

    http://IP_Application_Services/artifacts/solutions/puppet/mcollective/agent/appdintegn.ddl

    http://IP_Application_Services/artifacts/solutions/puppet/mcollective/agent/appdintegn.rb

  6. Copie os arquivos de agente appdintegn.rb e appdintegn.ddl para o diretório LIBDIR/mcollective/agent no Puppet Master.
    LIBDIR é o valor da configuração MCollective libdir que normalmente é definido como /opt/puppet/libexec/mcollective/.
  7. Reinicie o MCollective para exibir os arquivos de agente que acabaram de ser copiados.
    • No Puppet Enterprise, insira /etc/init.d/pe-mcollective restart.
    • No Puppet Open Source, insira /etc/init.d/mcollective restart.
  8. Em uma máquina cliente com o Puppet instalado, gere um certificado.
    puppet certificate generate Name --ssldir TempCredsDir --ca-location remote --ca_server CAPuppetMaster

    Name é o nome de uma cadeia de caracteres do certificado do Application Services que corresponde ao Puppet Master. TempCredsDir é um diretório criado localmente na pasta /tmp, como /tmp/appd_mc/credentials, e CAPuppetMaster é o nome de host ou o endereço IP do Puppet Master.

  9. (Opcional) No Puppet Master, se a assinatura automática do certificado não estiver ativada, insira o comando sudo puppet cert sign Name.
  10. Copie o arquivo de certificado público assinado para a lista de clientes autorizados do MCollective.
    cp CertDirectory/Name.pem AuthorizedClientsDirectory

    CertDirectory é a definição da configuração certdir do Puppet Master e AuthorizedClientsDirectory é a definição da configuração para o plugin.ssl_client_cert_dir do servidor MCollective.

    Um comando copiar de amostra do Puppet Enterprise, cp /etc/puppetlabs/puppet/ssl/ca/signed/vmware-appd.pem /etc/puppetlabs/mcollective/ssl/clients/
  11. Na máquina cliente na qual o Puppet está instalado, obtenha os certificados assinados do Puppet Master.
    puppet certificate find Name --ssldir TempCredsDir --ca-location remote --ca_server CAPuppetMaster

    puppet certificate find ca --ssldir TempCredsDir --ca-location remote --ca_server CAPuppetMaster

  12. Na máquina cliente na qual o Puppet está instalado, obtenha o certificado público do Puppet Master.
    • No Puppet Enterprise, insira puppet certificate find pe-internal-mcollective-servers --ssldir TempCredsDir --ca-location remote --ca_server CAPuppetMaster.
    • No Puppet Open Source, insira puppet certificate find mcollective-servers --ssldir TempCredsDir --ca-location remote --ca_server CAPuppetMaster.

Resultados

O Application Services cria o arquivo de definição de nó *.pp para cada máquina virtual que ele provisiona no diretório /etc/puppetlabs/puppet/manifests/appd_nodes ou /etc/puppet/manifests/appd_nodes.

O que Fazer Depois

Registre o Puppet Master em um ambiente de implantação no Application Services. Consulte Criar uma instância de solução do Puppet.