1. Prehľad Puppet je open source nástroj na automatizáciu softvéru na konfiguráciu a nasadzovanie, ktorý je jednoduchý na používanie a výkonný, získava čoraz väčšiu pozornosť, pričom mnohé veľké IT spoločnosti teraz používajú puppet na správu a nasadzovanie softvéru v klastroch, napríklad Google používa puppet na správu viac ako 6 000 Mac stolových počítačov (údaje z roku 2007). Tento článok hlavne predstavuje spôsob inštalácie, dizajnovú architektúru a spôsob použitia bábky.
2. Dizajnová architektúra Puppet je založený na architektúre C/S. Serverová strana ukladá všetok konfiguračný kód pre klientský server, ktorý sa nazýva manifest in puppet. Po stiahnutí manifestu klientom môže byť server nakonfigurovaný podľa manifestu, napríklad správa balíkov, správa používateľov a správa súborov.
Ako je znázornené na obrázku vyššie, pracovný postup bábky je nasledovný: (1) Klientská bábka volá facter a facter detekuje niektoré premenné hostiteľa, ako je názov hostiteľa, veľkosť pamäte, IP adresa a podobne. pupppetd posiela tieto informácie serveru cez SSL spojenie; (2) Serverový puppetmaster deteguje hostiteľské meno klienta, potom nájde zodpovedajúcu konfiguráciu uzla v manifeste a analyzuje túto časť obsahu. Parsovanie je rozdelené do niekoľkých fáz, kontrola syntaxe a hlásenie chýb, ak je syntax nesprávna. Ak je syntax správna, pokračujte v parsovaní a výsledok parsovania vygeneruje medzistupeň "pseudokódu" a následne pošle pseudokód klientovi; (3) Klient prijme "pseudokód" a vykoná ho, a klient odošle výsledok vykonania serveru; (4) Serverová strana zapisuje výsledok vykonávania klienta do logu. V procese práce PUPPET stojí za to poznamenať dva body: po prvé, aby sa zabezpečila bezpečnosť, klient a master sú založení na SSL a certifikátoch, pričom iba klient overený hlavným certifikátom môže komunikovať s masterom; Po druhé, puppet udrží systém v určitom stave, ktorý očakávate, a udržiava ho stále, napríklad detekuje súbor a zabezpečuje, že vždy existuje, zabezpečuje, že služba SSH je vždy zapnutá, ak je súbor vymazaný alebo služba zatvorená, pri ďalšom spustení bábky (predvolene 30 minút), súbor sa znovu vytvorí alebo spustí službu SSH.
3. Inštalácia softvéru Neodporúča sa používať príkaz apt-get na inštaláciu, pretože bábka stiahnutá týmto príkazom má chybu. Dá sa nainštalovať priamo zo zdrojového kódu a softvér, ktorý je potrebné nainštalovať, sú ruby, facter a puppet.
3.1 Postup inštalácie Upraviť /etc/host na úpravu hostmena, keďže puppet je založený na certifikáte a obsahuje hostiteľské meno v certifikáte; Nainštalujte Ruby, Facter a Puppet na Master a Slave a použite Ruby Install.rb na inštaláciu Factera a Puppetu.
3.2 Štruktúra adresárov po inštalácii (1) Inštalačný adresár Inštalačný adresár je uložený v /etc/puppet a manifestuje sa v manifestových súboroch tohto adresárskeho úložiska. Ďalšie spustiteľné súbory pod /user/sbin zahŕňajú hlavne: Puppet: Používa sa na spúšťanie nezávislých mainfests súborov napísaných používateľom, napríklad: bábka -l /tmp/manifest.log manifest.pp puppetd: Klientský program, ktorý beží na spravovanom hostiteľovi, napríklad: puppet –server servername –waitforcert 60 puppetmasterd: Serverový program, ktorý beží na správcovskom stroji, napríklad: puppetmasterd –debug Certifikačný program Puppetca Puppet sa používa najmä na overovanie otrockých certifikátov, ako sú: Skontrolujte otroka, aby bol overený: puppetca –zoznam Certifikujte týchto otrokov: puppetca -s –a PuppetRun sa používa na pripojenie ku klientovi, čím sa núti spustiť lokálny konfiguračný súbor, napríklad: puppetrun -p 10 –host host1 –host host2 -t remotefile -t webserver (2) Konfiguračné súbory puppet.conf Hlavný konfiguračný súbor Puppetu je /etc/puppet/puppet.conf pre root používateľov a ~user/.puppet/puppet.conf pre bežných používateľov Pre konkrétne konfiguračné parametre pozri:
http://docs.puppetlabs.com/references/stable/configuration.html#configuration-files fileserver.conf Konfiguračný súbor bábkového súborového servera. Použite cestu k konfiguračnému súboru a povoľte/zablokujte konfiguráciu prístupových oprávnení, pozri http://docs.puppetlabs.com/guides/file_serving.html
3.3 Overiť, že inštalácia bola úspešná Vyberte otroka na overenie s pánom, za predpokladu, že hostiteľ otroka je slave00 a hostiteľ pána je masterhost, vstúpte na slave00: puppetd –test –server name Potom sa pozrite na otroka, ktorý sa má autentifikovať na masterhost: puppetca – zoznam Ak to nevadí, môžete vidieť, ako slave00 podpisuje otrokársky certifikát: puppetca -s -a Týmto spôsobom slave00 prešiel validáciou certifikátu a môže ďalej komunikovať s masterom. Zapíšte súbor site.pp do adresára /etc/puppet/manifests v masterhost, ktorý znie: uzol default { súbor { "/tmp/test": obsah=>"ahoj", režim => 0644;
}
} Zároveň zadajte puppetd –test –server server name na slave00, skontrolujte /tmp priečinok slave00 a vygenerujte nový test súboru, ktorého obsah je hello a povolenie súboru je -rw-r—r-. Týmto spôsobom sa inštalácia bábok ukazuje ako úspešná
|