Puppet auf Ubuntu 8.04
Aus Howtos und Gedankenstuetzen
Inhaltsverzeichnis |
Netzwerkeinstellungen
Wenn kein DNS vorhanden ist schreiben wir nach dem Grundsetup der Server folgendes in die /etc/hosts
192.168.0.1 puppet-master 192.168.0.2 puppet-client1
Der Server läuft auf Port 8140. Eventuell muss man diesen in der Firewall freigeschaltet werden.
Zuerst muss man auf Server/Client folgende Pakete installieren.
apt-get install libopenssl-ruby rdoc irb1.8 libopenssl-ruby1.8 libreadline-ruby1.8 libruby1.8 rdoc1.8 ruby1.8
Client Installation
apt-get install puppet
Server Installation
apt-get install puppet puppet-master
Server Vorbereitung
nano /etc/puppet/manifests/site.pp
class test_class {
file { "/tmp/testfile":
ensure => present,
mode => 644,
owner => root,
group => root
}
}
node pclient {
include test_class
Jetzt kann man den Server starten.
/etc/init.d/puppetmaster start
Client Vorbereitungen
nano /etc/puppet/puppet.conf
[main] server = puppet-master logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter pluginsync=true [puppetmasterd] templatedir=/var/lib/puppet/templates
Nun kann man von Client aus ein SSL Zertifikat anfordern.
puppetd --server puppet-master --waitforcert 60 --test
Dieses wird vom Server automatisch signiert. Und puppet führt einmalig die im Manifest angegebene Aktion durch. Jetzt kann man testen ob die Datei erzeugt wurde.
ls -l /tmp/testfile -rw-r--r-- 1 root root 0 2007-02-18 18:28 /tmp/testfile
Für eine weiteren Test ändern wir nun die Zugriffsrechte auf die Datei.
class test_class {
file { "/tmp/testfile":
ensure => present,
mode => 600,
owner => root,
group => root
}
}
node pclient {
include test_class
}
Jetzt starten wir auf dem Client puppetd im verbose mode (-v) only-once (-o) und danach schauen wir uns die Datei an
puppetd -v -o | ls -l /tmp/testfile -rw------- 1 root root 0 2007-02-18 18:28 /tmp/testfile
Nun haben wir ein funktionierendes puppet Setup. Jetzt sollten wir weiter am Manifest schrauben je nachdem was wir erreichen wollen. Auf dem Client starten wir puppet noch mit
/etc/init.d/puppet start
Puppet schaut automatisch auf dem Server alle 30 Minuten nach.