Als u een Puppet Master in een implementatieomgeving wilt registeren, moet u de Puppet Master voorbereiden zodat deze met de server van Application Services kan samenwerken.

Over deze taak

U kunt het registratieproces ook automatiseren, zie Een oplossingsinstantie registreren voor een Puppet Master.

Voorwaarden

  • Controleer of Puppet Enterprise versie 3.0.1 tot 3.2.3 of Puppet Open Source versie 3.2.4 tot 3.6.2 is geïnstalleerd.

  • Controleer of de nieuwste ondersteunde versie van de Puppet-agent is geïnstalleerd. Zie de documentatiewebsite voor Puppet Labs voor de installatie-instructies voor de agent.

  • Zorg ervoor dat er een clientmachine beschikbaar is waarop naast de Puppet Master ook Puppet is geïnstalleerd.

  • Zorg ervoor dat de systeemtijden van de servers voor Application Services en Puppet Master zijn gesynchroniseerd. U kunt hiervoor een NTP-server gebruiken. Het tijdverschil tussen de twee servers mag niet meer zijn dan 60 seconden.

Procedure

  1. Navigeer naar de directory op uw Puppet Master en maak een directory met de naam appd_nodes.
    • Op Puppet Enterprise navigeert u naar /etc/puppetlabs/puppet/manifests/.

    • Op Puppet OpenSource navigeert u naar /etc/puppet/manifests/.

  2. Open het bestand /etc/puppetlabs/puppet/manifests/site.pp of /etc/puppet/manifests/site.pp en voeg de opdracht import 'appd_nodes/*.pp' toe aan de eerste regel van het bestand.
  3. Maak het bestand empty_manifest_file.pp in de opdrachtregel.
    • Voor Puppet Enterprise voert u touch /etc/puppetlabs/puppet/manifests/appd_nodes/empty_manifest_file.pp in.

    • Voor Puppet OpenSource voert u touch /etc/puppet/manifests/appd_nodes/empty_manifest_file.pp in.

  4. Open het configuratiebestand mcollective van de server en voeg de regel plugin.ssl_serializer = yaml toe als deze ontbreekt.
    • Open in Puppet Enterprise het bestand /etc/puppetlabs/mcollective/server.cfg.

    • Open in Puppet Open Source het bestand /etc/mcollective/server.cfg.

  5. Download de agentbestanden appdintegn.rb en appdintegn.ddl.

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

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

  6. Kopieer de agentbestanden appdintegn.rb en appdintegn.ddl naar de directory LIBDIR/mcollective/agent op de Puppet master.

    LIBDIR is de waarde van de instelling MCollective libdir die normaal gesproken is ingesteld op /opt/puppet/libexec/mcollective/.

  7. Start MCollective opnieuw op om de nieuw gekopieerde agentbestanden weer te geven.
    • Voor Puppet Enterprise voert u /etc/init.d/pe-mcollective restart in.

    • Voer in Puppet Open Source /etc/init.d/mcollective restart in.

  8. Genereer een certificaat op een clientmachine waarop Puppet is geïnstalleerd.

    puppet certificate generate Name --ssldir TempCredsDir --ca-location remote --ca_server CAPuppetMaster

    Name is de naam van een string voor het certificaat van Application Services in overeenstemming met de Puppet master. TempCredsDir is een lokaal gemaakte directory in de map /tmp zoals /tmp/appd_mc/credentials en CAPuppetMaster is de hostnaam of het IP-adres van de Puppet master.

  9. (Optioneel) : Indien op de Puppet master het automatisch ondertekenen voor het certificaat niet is ingeschakeld, voert u de opdracht sudo puppet cert sign Name in.
  10. Kopieer het ondertekende openbare certificaatbestand naar de lijst MCollective geautoriseerde clients.

    cp CertDirectory/Name.pem AuthorizedClientsDirectory

    CertDirectory is de certdir config-instelling van Puppet master en AuthorizedClientsDirectory is de config-instelling voor MCollective-server plugin.ssl_client_cert_dir.

    Een voorbeeld van een kopieeropdracht in Puppet Enterprise: cp /etc/puppetlabs/puppet/ssl/ca/signed/vmware-appd.pem /etc/puppetlabs/mcollective/ssl/clients/

  11. Haal de ondertekende certificaten op van de Puppet master op de clientmachine waarop Puppet is geïnstalleerd.

    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. Haal het openbare certificaat van de Puppet master op bij de clientmachine waarop Puppet is geïnstalleerd.
    • Voor Puppet Enterprise voert u puppet certificate find pe-internal-mcollective-servers --ssldir TempCredsDir --ca-location remote --ca_server CAPuppetMaster in.

    • Voer in Puppet Open Source puppet certificate find mcollective-servers --ssldir TempCredsDir --ca-location remote --ca_server CAPuppetMaster in.

Resultaten

Application Services maakt het definitiebestand voor het knooppunt *.pp voor elke virtual machine die het inricht in de directory /etc/puppetlabs/puppet/manifests/appd_nodes of /etc/puppet/manifests/appd_nodes.

Volgende stappen

Registreer de Puppet master in een implementatieomgeving in Application Services. Zie Een oplossingsinstantie maken voor een Puppet.