Om een CentOS server te kunnen beheren met Puppet dient hier de puppet-agent op geïnstalleerd te worden.
Zorg er wel voor dat de node in hetzelfde domein is als de puppetmaster en dat de ntpd-service is gestart binnen de juiste timezone.
yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
timedatectl set-timezone
Europe/Amsterdam
Voeg een regel toe aan de /etc/hosts file waarmee de puppetmaster gevonden kan worden.
192.168.1.141 puppet puppetmaster puppetmaster.digitalinfo.local
Ook de /etc/resolv.conf passen we aan zodat het juiste domein gebruik wordt via de DNS server:
search digitalinfo.local nameserver 192.168.1.131
Voeg de volgende regel toe aan /etc/sysconfig/iptables:
-A INPUT -s 192.168.1.141/32 -p tcp -m state --state NEW -m tcp --dport 8140 -j ACCEPT
Nu gaan we de repository instellen zodat de juiste versie voor de puppet-agent gevonden kan worden en installeren we de agent:
rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
yum install -y puppet-agent
we starten de puppet-agent met het volgende commando:
/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
Sign het certificaat op de puppetmaster
Nadat een puppet-agent gestart is wordt met de puppet-master een key-pair uitgewisseld en dient het certificaat getekend te worden op de puppetmaster. Geef daarvoor het volgende commando op de puppetmaster-server:
puppet cert sign
node1.digitalinfo.local
De node kan nu gecontroleerd worden door de puppetmaster.
Mocht het nodig zijn om de node te verwijderen van de puppetmaster, dan kan met het volgende commando (op de puppetmaster) het certificaat verwijderd worden:
puppet cert clean node1.digitalinfo.local
Maak de ssl directory leeg op de node:
rm -rf /etc/puppetlabs/puppet/ssl/*
Stop vervolgens de puppet services met:
puppet resource service puppet ensure=stopped
puppet resource service mcollective ensure=stopped
puppet resource service pxp-agent ensure=stopped
en verwijder de cached catalog:
rm -f /opt/puppetlabs/puppet/cache/client_data/catalog/node1.digitalinfo.local.json
Om de node hierna weer toe te voegen, start de puppet-services zodat er een nieuw certificaat gegenereerd word:
puppet resource service puppet ensure=running
puppet resource service mcollective ensure=running
Hier dient op de puppetmaster het certificaat weer ge-signed worden.