Puppet node installatie RPi

Puppet agent op Raspberry PI

Voordat we de agent installeren, eerst even zorgen dat de Raspberry PI in hetzelfde domain is als de puppetmaster en de servernaam ook gevonden kan worden. We beginnen met de MusicPlayer in de huiskamer, de procedure is voor de overige spelers hetzelfde.

Als eerste zorgen we ervoor dat de datum/tijd goed staat middels de NTP service. Dit is nodig omdat de communicatie met de puppetmaster via certificaten loopt.

sudo apt-get install -y ntp
sudo update-rc.d ntp enable

De tijdzone stellen we in met:

sudo dpkg-reconfigure tzdata

Kies hier dan voor Europe/Amsterdam

De /etc/hosts file passen we aan zodat de puppetmaster bereikt kan worden via een FQDN.

127.0.0.1   huiskamer huiskamer.digitalinfo.local localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         huiskamer huiskamer.digitalinfo.local localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.178.141 puppet puppetmaster puppetmaster.digitalinfo.local

Ook de /etc/hostname passen we, indien nodig, aan:

huiskamer.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

Eerst nog even de repository-list uitbreiden zodat de juiste versie van puppet straks gevonden wordt.

wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb
sudo dpkg -i puppetlabs-release-wheezy.deb
sudo apt-get update

Hierna gaan we de Puppet agent installeren:

sudo apt-get install -y puppet

Dit zal de versie 3.8.7 installeren maar de PuppetServer v4 is backwards compatible met deze versie dus we hoeven geen speciale repositories toe te voegen.

We zorgen er voor dat de puppet-agent wordt gestart, ook als de Raspberry PI opnieuw boot. Hiervoor dient een bestand aangepast te worden:

sudo vi /etc/default/puppet

en de optie START=no gewijzigd te worden naar START=yes Vervolgens starten we de agent met:

sudo service puppet start
sudo service puppet status
sudo puppet agent -t

Op de nieuwere Debian versie kunnen de volgende commando’s gebruikt worden:

sudo systemctl enable puppet
sudo systemctl start puppet
sudo puppet agent --enable

Hiermee zouden de nodes zich moeten aanmelden aan de puppetmaster. Op de web-pagina voor het beheer kijken we naar de optie ‘Unsigned certs’ en daar staan de nodes die nog van een certificaat moeten worden voorzien.

Met de  ‘Accept’ button kan dat eenvoudig uitgevoerd worden. Vervolgens geven we het volgende commando nogmaals op de nodes:

sudo puppet agent -t

Dit zal tijdens de eerste keer tevens het certificaat instellen op de node. Alle nodes zijn hierna in de ‘Inventory‘ opgenomen.