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