Puppet (moduly)

Z DCEwiki
Verze z 5. 8. 2012, 12:47, kterou vytvořil Keny (diskuse | příspěvky) (Založena nová stránka: <noinclude>{{ Přejít na | Puppet | Puppet (manifest) | Puppet (funkce) | }}</noinclude> V minulé kapitole bylo demonstrováno vytvoření jednoduchého ''manife…)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

V minulé kapitole bylo demonstrováno vytvoření jednoduchého manifestu, pro práci se souborem /etc/hosts.

Chceme-li sofistikovanější údržbu tohoto souboru, je je lepší vytvořit samostatný modul. A tento modul do třídy basic vložit přes direktivu include. Jelikož má jít o modul pro údržbu souborů /etc/hosts, tak pro název modulu použiju stejné jméno a rovnou provedu úpravu souboru /etc/puppet/manifests/node.pp

Poznámka
class basic {
    include hosts
}

node "master.felk.cvut.cz" {
    include basic
}

Kde jsou moduly uloženy?

Všechny moduly má Puppet uloženy v adresáři /etc/puppet/modules. Jméno modulu, které natahuje direktiva include je relevantní názvu podadresáře.

Tento poadresář kromě povinného adresáře manifests může obsahovat ještě další adresáře:

files
ve kterém jsou soubory, které bude puppet distribuovat beze změn (ssh klíče, výchozí konfigurační soubory atp.)
templates
do kterého se ukládají šablony konfiguračních souborů, což jsou soubory s příponou .erb

Vůbec nevadí pokud zůstane některý těchto adresářů z nich prázdný, takže můžeme všechny tři adresáře vytvořit najednou:

Poznámka
 root@master~# mkdir -p /etc/puppet/modules/&lt;jméno modulu&gt;/{files,manifests,templates}

Výchozím souborem modulu pak je soubor <code>init.pp</code>, ve kterém je modul inicializován jako třída.

Puppet (příklady) hosts

Řešení závislostí

Puppet (příklady) apache2