Puppet

From DCEwiki
Jump to: navigation, search

Puppet je systém typu klient/server pro automatickou údržbu operačního systému. Přičemž stroj, na kterém běží server (master), může být zároveň spravován i jako klient (agent) - stejně jako jiné stroje[1].

Puppet pro popis stavu operačního systému používá tzv. doménově specifický jazyk (zkráceně DSL), který je z hlediska syntaxe velmi podobný jazykům s podporou objektového programování(python, php5, java...)[2][3]

Výsledkem zpracování je tzv. manifest - XML soubor, který popisuje jak má systém klientského nodu vypadat. Klientská aplikace která si jej stáhne pak podle něj realizuje potřebné operace. Řeší však pouze to, co je popsáno v manifestu. Aplikace, které nejsou udržovány přes Puppetu, neřeší, pokud jejich konfigurace nějakým způsobem nezasahuje do jím udržované konfigurace.

Upozornění Puppet není systém, který by sám od sebe automaticky zajišťoval kompletní výchozí instalaci, neboť vyžaduje aby na klientské stanici byl přítomen agent.

Nicméně umožňuje výrazným způsobem takovou instalaci usnadnit. Jak instalaci stroj krok za krokem s pomocí Puppetu se můžete dozvědět z manuálu Jak vytvořit bezdiskový stroj s operačním systémem GNU/Linux

Až by se mohlo zdát, že Puppet je primárně určen pro správu linuxového systému, není tomu tak. Interně je naprogramován v Ruby a tak jej lze provozovat i na jiných platformách, jako je MS Windows či MAC OS X. A skrz linuxový server lze spravovat nejenom linuxové nody.

nod 
V rámci systému Puppet se rozumí pod pojmem nod stroj na kterém běží agent
manifest 
XML soubor, který je výsledkem zpracování skriptů s příponou .pp uložených v adresáři s názvem manifests na stroji, kde běží master. Agent na klientském nodu na základě tohoto manifestu zajistí aby byl jeho systém odpovídajícím způsobem nainstalován a zkonfigurován.
  1. Více o systému Puppet a jeho využití viz Brixí,M.: Automatizace procesů firmy v oblasti správy a údržby serverů (Diplomová práce) Plzeň: ZČU FAV, 2010
  2. Takových systémů je více. Na webu LINUX MAGAZINE[1] (19.8.2010) lze nalézt srovnání čtyři nejrozšířenějších.
    Kromě Puppetu je tam zmíněn Bcfg2, Cfengie a Chef. Puppet se od nich liší právě aplikací DSL.
  3. Skriptu napsanému v DSL se mění kontext podle domény, která jej zrovna interpretuje.