Puppet Server installatie

Puppet Server:
Naam: puppetmaster
IP address: 192.168.178.141/24
OS: CentOS 7-x64
CPU Cores: 2
Memory: 6Gb
Platform: Hyper-V VM
Puppet versie: Puppet Server Enterprise 2017.2.1

Om ervoor te zorgen dat de certificaat-uitwisseling goed gaat tussen de puppetmaster en de nodes, gaan we eerst NTP services installeren:

 yum -y install ntpd

De timezone stellen we nu in voor Europe/Amsterdam met:

timedatectl set-timezone Europe/Amsterdam

en starten van de NTP-service gaat met:

systemctl start ntpd
systemctl enable ntpd

De /etc/hosts file passen we aan zodat de puppetmaster alle MusicPlayers kan bereiken via een FQDN. Deze namen dienen uiteraard wel op de MusicPlayers zelf zo ingesteld zijn als hostname.

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

192.168.178.21  demoruimte.digitalinfo.local
192.168.178.31  huiskamer.digitalinfo.local
192.168.178.34  DH-AMP.digitalinfo.local
192.168.178.41  badkamer.digitalinfo.local
192.168.178.51  keuken.digitalinfo.local

Ook de /etc/hostname passen we aan:

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

Onze server maakt gebruik van iptables en daarvoor gaan we de volgende regel toevoegen aan /etc/sysconfig/iptables en herstarten we de iptables service:

-A INPUT -s 192.168.178.0/24 -p tcp -m state --state NEW -m tcp --dport 8140 -j ACCEPT

systemctl restart iptables

Hierna gaan we de Puppet software installeren. Er zijn twee server-versies beschikbaar:

PuppetServer

Dit is de open-source versie en het beheer geschiedt uitsluitend via de Command Line.
Eerst voegen we de juiste repository toe zodat versie 4.x gevonden kan worden, daarna installeren we puppetserver.

rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
yum install -y puppetserver

Nu kan deze ingesteld worden om automatisch te starten na een reboot:

systemctl enable puppetserver

Standaard gebruikt puppetserver 2 Gig aan geheugen maar in een productie-omgeving met veel nodes zou je meer geheugen kunnen toekennen. Dit is in te stellen in een config-file via

vim /etc/sysconfig/puppetserver

Wijzig dan de regel met JAVA_ARGS naar bv. 4 G.

JAVA_ARGS="-Xms4g -Xmx4g

Hierna kan de server gestart worden met

systemctl start puppetserver

PuppetServer Enterprise

Dit is de commerciele versie en kan beheerd worden via een web-site.
De ingepakte tarball file kan gedownload worden via de puppet-website en indien nodig, met scp (of WinSCP) gekopieerd worden naar de server. Hierna uitpakken de de installer runnen:

tar -xf puppet-enterprise-2017.2.1-el-7-x86_64.tar.gz
./puppet-enterprise-installer

Kies voor de [1] Guided installatie

Dit zal o.a. een website op de puppetserver installeren die bereikbaar is op poort 3000, dus de url is dan:

https://puppetmaster.digitalinfo.local:3000

en deze wordt vermeld om verder te gaan met de installatie.

Met een laatste commando wordt de server tevens als node aangemeld:

puppet agent -t

Nadat de installatie gereed is kan de beheerpagina bereikt worden via een web-browser naar: https://puppetmaster.digitalinfo.local

Zorg dat de puppetmaster ook na een herstart van de server zal runnen, dit doen we met een puppet-commando:

puppet resource service pe-puppetserver ensure=running enable=true