Zur Umgebung:
Hosts:
puppetmaster: Der Puppet Master Server
pc1: Der erste Testclient
pc2: Der zweite Testclient
Domain: domain.local
Bemerkung: Auf allen 3 Servern wird Ubuntu 9.04 verwendet.
Installation des Puppetmaster
aptitude install puppetmaster
Aktivieren des Fileservers für das lokale Netzwerk (”/etc/puppet/fileserver.conf”):
[files] path /etc/puppet/files allow *.domain.local [plugins] path /etc/puppet/files allow *.domain.local
Bemerkung: Alternativ oder zusätzlich könnte man auch noch Subnetze erlaubgen ”allow 192.168.0.0/24”.
Bearbeiten /Anlegen der Datei ”/etc/puppet/manifests/site.pp”:
Dies ist die Hauptkonfigurationsdatei von puppet. Um die Installation zu testen werden wir eine Datei vom puppetmaster auf jeden Client kopieren.
#
# site.pp
#
class filetest {
file { '/etc/testfile':
source => "puppet://puppetmaster.domain.local/files/etc/testfile"
}
}
node default {
include filetest
}
Außerdem muss man diese Testdatei sowie die entsprechenden Ordner anlegen:
mkdir -p /etc/puppet/files/etc vim /etc/puppet/files/etc/testfile
Der Inhalt der Datei ist nicht wirklich wichtig, ein ”Hello World” ist ausreichend.
/etc/init.d/puppetmaster restart
Installation der Clients
aptitude install puppet
Puppet client mit dem server verbinden
Folgenden Eintrag in die Puppetkonfiguration /etc/puppet/puppet.conf eintragen, um den Client mit dem Server zu verbinden:
[puppetd] server=puppetmaster.domain.local
/etc/init.d/puppet restart
Auf dem puppetmaster:
puppetca --list puppetca --sign pc1.domain.local
Durch den Neustart von Puppet auf dem Client kann schnellsten testen ob das Testfile verteilt wird:
/etc/init.d/puppet restart
Nun sollte auf dem Client die Datei /etc/testfile vorhanden mit dem entsprechenden Inhalt.
Im nächsten Teil wird die Konfiguration etwas weiter ausgebaut und eine kleine Einführung in Puppet Module gegeben.
Links:
An introduction to using Puppet Teil 1
An introduction to using Puppet Teil 2

Cool post, just subscribed.