Puppet node installatie CentOS

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.178.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.178.131

Voeg de volgende regel toe aan /etc/sysconfig/iptables:

-A INPUT -s 192.168.178.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.