Puppet Masterin ja Puppet client asennus:
Hyvät asennusohjeet löytyivät Tero Karvisen kotisivuilta: http://terokarvinen.com/2012/puppetmaster-on-ubuntu-12-04
'Local Network' -hostname:n käyttöönotto.
Vaihdetaan aluksi live CD:n hostname ja katsotaan, että 'local network' -hostnamet toimivat:
Korvataan 'xubuntu' halutulla hostnamella (esimerkkinä käytän 'master').
$ sudoedit /etc/hosts
Korvataan 'xubuntu' halutulla hostnamella,
$ sudoedit /etc/hostname
Varmistetaan vielä hostnamen vaihto ja käynnistetään avahi-daemon uudestaan.
$ sudo hostname master $ sudo service avahi-daemon restart avahi-daemon stop/waiting avahi-daemon start/running, process 3923
Testataan toimivuus pingaamalla:
$ ping master.local PING master.local (xxx.xx.x.xxx) 56(84) bytes of data. 64 bytes from master.local (xxx.xx.x.xxx): icmp_req=1 ttl=64 time=0.014 ms
Puppet Masterin asennus ja konfigurointi:
$ sudo apt-get update $ sudo apt-get -y install puppetmaster
Pysäytetään Puppet Master ja poistetaan oletuksena olevat sertifikaatit:
$ sudo service puppetmaster stop * Stopping puppet master $ sudo rm -rf /var/lib/puppet/ssl
Lisätään Puppet Masterin config-tiedostoon Puppet Masterina toimivan koneen hostname.
$ sudoedit /etc/puppet/puppet.conf
[master] kohdan alle lisätään rivi:
dns_alt_names = master.local
Käynnistetään Puppet Master, jolloin muutokset sisältävä sertifikaatti luodaan automaattisesti:
$ sudo service puppetmaster start
Puppet clientin asennus ja konfigurointi:
Normaalisti Puppet Master ja puppet client ovat eri koneilla, mutta omassa tapauksessani asennan molemmat samalle palvelimelle.
Asennetaan puppet client:
$ sudo apt-get -y install puppet
Lisätään Puppet clientin conf.tiedostoon (sama kuin Masterilla) [agent] otsikko ja käytettävän serverin hostname.
Lisäyksen jälkeen '/etc/puppet/puppet.conf' -tiedosto näyttää seuraavalta:
[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter templatedir=$confdir/templates prerun_command=/etc/puppet/etckeeper-commit-pre postrun_command=/etc/puppet/etckeeper-commit-post [master] # These are needed when the puppetmaster is run by passenger # and can safely be removed if webrick is used. ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY dns_alt_names = master.local [agent] server = master.local # 'runinterval = 0', määrittää puppet clientin päivittämään asetuksensa jatkuvasti # oletuksena puppet clientin asetukset päivitetään 30min välein runinterval = 0
'runinterval = 0' on määritetty siksi, että testejä tehdessä näemme kokoajan tekemämme muutokset.
Sallitaan vielä Puppet clientin käynnistyminen.
$ sudoedit /etc/default/puppet
Muutetaan kohta 'START=no' -> 'START=yes'.
Käynnistetään vielä Puppet client uudestaan, jotta muutokset astuvat voimaan.
$ sudo service puppet restart
Katsotaan hyväksyntää vaativat sertifikaatit:
$ sudo puppet cert --list
Mitään ei tulostu, sillä käytämme samalla koneella Puppet Masteria ja clienttiä, jolloin sertifikaatti on jo hyväksytty.
Hyväksytyt sertifikaatit voidaan tarkistaa seuraavalla tavalla (hyväksytty jos '+'):
$ sudo puppet cert --list --all + "master..................:"
Puppet Masterin ja clientin ollessa eri koneilla, sertifikaatti voitaisiin hyväksyä ajamalla seuraava komento Puppet master-koneella:
$ sudo puppet cert --sign sertifikaatti
Nyt vaadittavat konfiguraatiot on tehty Puppetin käyttöä varten!