Puppet (instalace)
Většina linuxových distribucí má obě části Puppetu - klienta i server ve svých repozitářích a umožňuje tak provést instalaci přes standardní balíčkovací systém.
Výchozí konfigurace - tj. nastavení cest k adresářům, atp. - však nemusí být všude stejná a může se mírně lišit. Následující postupy a příklady byly realizovány v rámci distribuce Debian wheezy amd64, s aktuální verzí Puppetu 2.7.18.
Pro archivaci veškerých změn při úpravách manifestů na serveru je vhodné používat nějaký verzovací systém. Obecně je doporučován git. Pokud je na stroji nainstalován etckeeper, tak v podstatě není třeba nic víc řešit, pouze je třeba po každé úpravě provést uložení aktuálních změn, včetně komentáře a v případě certifikátů přidat odpovídající nově vzniklé soubory do repozitáře. |
master
Abychom mohli Puppet používat, musíme mít stroj který bude fungovat jako server - master. S ním pak budou komunikovat agenti z ostatních nodů.
Serverová část Puppetu je v Debianu součástí balíku, který se jmenuje puppetmaster. Nainstalovat ji lze přes APT, který by se měl postarat o splnění potřebných závislostí[1]:
root@master~# apt-get install puppetmaster
|
http://www.thingsidoinlinuxwhenbored.info/?p=38
U výchozí konfigurace serveru na Debianu je úložiště SSL certifikátů v adresáři /var/lib/puppet/ssl . Puppet však používá - není-li uvedeno jinak - jako výchozí adresář /etc/puppet/ssl .
Je-li obsah |
Spouštění serverové části aplikace
To zda démon puppetmaster opravdu běží můžete ověřit buď přímo dotazem přes init skript
root@master~# /etc/init.d/puppetmaster status
[ ok ] master is running.
|
nebo tím, že zkontrolujete zda-li proces master běží
root@master~# ps -ef | grep master
puppet 1849 1 0 srp02 ? 00:16:28 /usr/bin/ruby1.8 /usr/bin/puppet master
|
Pokud master neběží, tak se musí předtím, než se začne pracovat s klientem nahodit. A to buď před init skript
root@master~# /etc/init.d/puppetmaster start
|
nebo manuálně příkazem na řádce[2], chceme-li mít server spuštěný v ladícím režimu:
root@master~# puppet master --verbose --debug
|
agent
Master - stroj na kterém je nainstalován balík puppetmaster a běží démon, který komunikuje s agenty obvykle začínáme puppetizovat jako první. To znamená, že i na něm musí být nainstalován agent
V Debianu se balík pro klienta jmenuje puppet a i jeho instalaci lze provést přes APT:
root@master~# apt-get install puppet
|
Žádost klienta o certifikát a jeho podepsání na straně serveru
root@stroj:/etc# puppet agent --noop --test --verbose --server master.felk.cvut.cz dnsdomainname: Name or service not known info: Creating a new SSL key for stroj.felk.cvut.cz info: Caching certificate for ca info: Creating a new SSL certificate request for stroj.felk.cvut.cz info: Certificate Request fingerprint (md5): 93:44:BC:C1:9F:1D:7E:6D:83:BD:24:E7 :9A:0A:B3:82 Exiting; no certificate found and waitforcert is disabled
Na stroji master:
master (KVM) :~# puppet cert list "stroj.felk.cvut.cz" (93:44:BC:C1:9F:1D:7E:6D:83:BD:24:E7:9A:0A:B3:82) master (KVM) :~# puppet cert sign stroj.felk.cvut.cz notice: Signed certificate request for stroj.felk.cvut.cz notice: Removing file Puppet::SSL::CertificateRequest stroj.felk.cvut.cz at '/etc/puppet/ssl/ca/requests/stroj.felk.cvut.cz.pem'
Po podepsání certifikátu je třeba nakonfigurovat nod v manifestu, nemá-li nastaven default.
Ve výchozí konfiguraci je automatické spouštění agenta v souboru /etc/default/puppet zakázáno (v proměnné START). Povolte ho, až když budete mít připravený použitelný manifest.
|
- ↑ Ale nemusí. Nastavení potřebných závislostí je totiž u Debianu záležitostí maintainera balíku, který mohl nějaký balík opomenout.
- ↑ http://docs.puppetlabs.com/man/master.html - viz manuálová stránka