Puppet (environment)

From DCEwiki
Jump to: navigation, search

Puppet umožňuje v rámci jednoho stroje master vytvářet vzájemně nezávislá prostředí (environment).

Každé z nich může mít svůj vlastní manifest i sadu modulů, takže lze udržovat paralelně vedle sebe moduly určené k nasazení v produkčním prostředí s moduly v testovacím prostředí, které se připravují pro budoucí produkční nasazení.

Poznámka Výchozí prostředí, se jmenuje production a tento název je i výchozí hodnotou proměnné $enviroments, kterou používá agent na klientském nodu, pokud se mu nenastaví žádné jiné prostředí.

Vytvoření testovacího prostředí na stroji master[edit]

Do verze 3.6 Puppet akceptoval jako nové prostředí každý blok v konfiguračním souboru /etc/puppet.conf na stroji master, který nepatřil mezi systémové konfigurační bloky (main, master, agent, user).

Poznámka
[jmeno_prostredi]
manifest = $confdir/$environment/manifests/site.pp
modulepath = $confdir/$environment/modules

Názvem prostředí, uloženým do proměnné $environment, bylo jméno tohoto bloku. A tuto proměnnou bylo možné využít v nastavení cest k výchozímu manifestu a modulům. Pro toto prostředí ale musel existovat odpovídající adresář s obdobnou stromovou strukturou manifestu, jako u produkčního prostředí.

Od verze 3.6 však jsou akceptovány v konfiguračním souboru pouze systémové konfigurační bloky a jiné prostředí než je výchozí produkční lze vytvořit mnohem jednodušeji tak, že se v bloku main, nebo master uvede do proměnné $enviromentpath cesta k adresáři v němž je podadresář s konfiguračním manifestem prostředí. Jeho název je automaticky názvem proměnné $environment se kterou pracuje klient.

Poznámka
environmentpath = $confdir/environment

Cest k prostředí lze nastavit i více. V takovém případě musí být odděleny dvojtečkou.

Každý adresář s vytvořeným prostředím může obsahovat kromě podadresářů manifests a modules také konfigurační soubor enviroment.conf, ve kterém lze změnit výchozí proměnné specifické pro toto prostředí:

modulepath 
Cestu k modulům
manifest 
Cestu k výchozímu manifestu
config_version 
Číslo verze
environment_timeout 
Časový interval po který mají být uchovávány dočasné soubory prostředí

Aplikace testovacího prostředí na straně agenta[edit]

Pokud se spouští na straně klienta agent jako démon a chceme aby používal místo produkčního prostředí moduly z testovacího prostředí s názvem jmeno_prostredi, pak je třeba do konfigračního souboru /etc/puppet.conf na straně klienta nastavit v sekci agent jako hodnotu proměnné environment jeho jméno.

Poznámka
[agent]
environment = jmeno_prostredi