1. Přehled Puppet je open source nástroj pro automatizaci konfigurace a nasazení softwaru, který je snadno použitelný a výkonný, získává stále větší pozornost, a mnoho velkých IT společností nyní používá puppet ke správě a nasazení softwaru v clusterech, například Google používá puppet ke správě více než 6 000 stolních počítačů Mac (data z roku 2007). Tento článek především představuje způsob instalace, architekturu návrhu a způsob použití loutky.
2. Architektura návrhu Puppet je založen na architektuře C/S. Serverová strana ukládá veškerý konfigurační kód klientského serveru, který se nazývá manifest in puppet. Po stažení manifestu klientem lze server nakonfigurovat podle manifestu, například správu balíčků, správu uživatelů a správu souborů.
Jak je znázorněno na obrázku výše, pracovní postup loutky je následující: (1) Klientská loutka volá facter a facter detekuje některé proměnné hostitele, jako je název hostitele, velikost paměti, IP adresa atd. pupppetd posílá tyto informace serveru přes SSL spojení; (2) Serverový loutkový správce detekuje hostitelské jméno klienta, poté najde odpovídající konfiguraci uzlu v manifestu a tuto část obsahu analyzuje. Parsování je rozděleno do několika fází: kontrola syntaxe a hlášení chyb, pokud je syntaxe špatná. Pokud je syntax správná, pokračujte v analýze a výsledek parsování vygeneruje mezistupeň "pseudokódu" a poté pošle pseudokód klientovi; (3) Klient přijme "pseudokód" a spustí jej, a klient odešle výsledek spuštění serveru; (4) Serverová strana zapisuje výsledek spuštění klienta do logu. V procesu práce s PUPPETy stojí za zmínku dva body: za prvé, pro zajištění bezpečnosti jsou klient a master založeni na SSL a certifikátech, a pouze klient autentizovaný hlavním certifikátem může komunikovat s masterem; Za druhé, puppet udrží systém v určitém stavu, který očekáváte, a udržuje ho neustále, například detekuje soubor a zajišťuje, že vždy existuje, zajišťuje, že služba SSH je vždy zapnutá, pokud je soubor smazán nebo služba uzavřena, při dalším spuštění loutky (výchozí 30 minut) soubor znovu vytvoří nebo spustí službu SSH.
3. Instalace softwaru Nedoporučuje se používat příkaz apt-get pro instalaci, protože loutka stažená tímto příkazem má chybu. Lze jej nainstalovat přímo ze zdrojového kódu a software, který je potřeba nainstalovat, jsou ruby, facter a puppet.
3.1 Postup instalace Upravte /etc/host pro úpravu názvu hostitele, protože puppet je založen na certifikátu a obsahuje název hostitele v certifikátu; Nainstalujte Ruby, Facter a Puppet na Master a Slave a použijte Ruby Install.rb k instalaci Factera a Puppetu.
3.2 Struktura adresářů po instalaci (1) Instalační adresář Instalační adresář je uložen v /etc/puppet a manifestuje se v manifestních souborech tohoto adresáře. Další spustitelné soubory pod /user/sbin zahrnují hlavně: Puppet: Používá se k spouštění nezávislých mainfests souborů napsaných uživatelem, například: puppet -l /tmp/manifest.log manifest.pp puppetd: Klientský program, který běží na spravovaném hostiteli, například: puppet –server servername –waitforcert 60 puppetmasterd: Serverový program, který běží na správcovském stroji, například: puppetmasterd –debug Certifikační program Puppetca Puppet se používá především k ověřování certifikátů otroků, například: Zkontrolujte otroka, aby byl ověřen: puppetca –seznam Certifikujte tyto otroky: puppetca -s –a puppetrun se používá k připojení ke klientovi, čímž se vynucuje spuštění lokálního konfiguračního souboru, například: puppetrun -p 10 –host host1 –host host2 -t remotefile -t webserver (2) Konfigurační soubory puppet.conf Hlavní konfigurační soubor Puppetu je /etc/puppet/puppet.conf pro root uživatele a ~user/.puppet/puppet.conf pro běžné uživatele Pro konkrétní konfigurační parametry viz:
http://docs.puppetlabs.com/references/stable/configuration.html#configuration-files fileserver.conf Konfigurační soubor loutkového souborového serveru. Použijte cestu k konfiguraci cesty a povolte/zablokujte nastavení přístupových oprávnění, viz http://docs.puppetlabs.com/guides/file_serving.html
3.3 Ověřit, že instalace byla úspěšná Vyberte slave, který ověříte u mastera, za předpokladu, že hostitel slave00 je slave00 a hostitel mastera je masterhost, zadejte na slave00: puppetd –test –server server name Pak se podívejte na otroka, který má být autentizován na masterhostu: puppetca –seznam Pokud to nevadí, můžete vidět, jak slave00 podepisuje otrokářský certifikát: puppetca -s -a Tímto způsobem slave00 prošel ověřením certifikátu a mohl dále komunikovat s masterem. Soubor site.pp zapište do adresáře /etc/puppet/manifests v masterhostu, který zní: výchozí uzel { soubor { "/tmp/test": obsah=>"dobrý den", režim => 0644;
}
} Současně zadejte puppetd –test –server server name na slave00, zkontrolujte složku /tmp slave00 a vygenerujte nový test souboru, jehož obsah je hello a oprávnění souboru je -rw-r—r-. Tímto způsobem se instalace loutky osvědčuje jako úspěšná
|