1. Ülevaade Puppet on avatud lähtekoodiga tarkvara automatiseerimise konfigureerimise ja juurutamise tööriist, mis on lihtne kasutada ja võimas ning mis pälvib üha enam tähelepanu; paljud suured IT-ettevõtted kasutavad nüüd Puppetit tarkvara haldamiseks ja juurutamiseks klastrites, näiteks Google kasutab Puppetit enam kui 6000 Maci lauaarvuti haldamiseks (2007. aasta andmed). See artikkel tutvustab peamiselt nuku paigaldusmeetodit, disainiarhitektuuri ja kasutusviise.
2. Disainiarhitektuur Puppet põhineb C/S arhitektuuril. Serveri pool salvestab kogu kliendi serveri konfiguratsioonikoodi, mida nimetatakse puppetis manifestiks. Pärast seda, kui klient on manifesti alla laadinud, saab serveri vastavalt manifestile konfigureerida, näiteks paketihaldus, kasutajahaldus ja failihaldus.
Nagu ülaloleval joonisel näidatud, on nuku töövoog järgmine: (1) Kliendi nukk kutsub fakti ja fakter tuvastab hosti mõningaid muutujaid, nagu hosti nimi, mälu suurus, IP-aadress jne. pupppetd saadab selle info serverisse SSL-ühenduse kaudu; (2) Serveripoolne nukumeister tuvastab kliendi hostinime, leiab vastava sõlme konfiguratsiooni manifestist ja analüüsib selle osa sisust. Analüüsimine jaguneb mitmeks etapiks: süntaksi kontrolliks ja veateateks, kui süntaks on vale. Kui süntaks on õige, jätka parsimist ja parsimise tulemus genereerib vahepealse "pseudokoodi" ning seejärel saadab pseudokoodi kliendile; (3) Klient saab "pseudokoodi" ja käivitab selle ning klient saadab täitmise tulemuse serverile; (4) Serveripool kirjutab kliendi täitmise tulemuse logisse. PUPPET-töö protsessis on kaks punkti, mida tasub märkida: esiteks, turvalisuse tagamiseks põhinevad klient ja master SSL-il ja sertifikaatidel ning ainult master sertifikaadiga autentitud klient saab masteriga suhelda; Teiseks, Puppet hoiab süsteemi teatud seisundis, mida ootad, ja hooldab seda pidevalt, näiteks tuvastab faili ja tagab, et see alati eksisteerib, tagab, et ssh teenus on alati sees, kui fail kustutatakse või ssh teenus suletakse, siis järgmine kord, kui nukk käivitatakse (vaikimisi 30 minutit), taasloob ta faili või käivitab ssh teenuse.
3. Tarkvara paigaldus Paigaldamiseks ei soovitata kasutada käsku apt-get, sest selle käsuga alla laaditud nukul on viga. Seda saab otse lähtekoodist installida ning tarkvara, mida tuleb paigaldada, on rubiini, fakti ja nuku.
3.1 Paigaldusprotseduur Muuda /etc/host, et muuta hostinime, kuna Puppet on sertifikaadipõhine ja sisaldab hostinime sertifikaadis; Paigalda Ruby, Facter ja Puppet Master ja Slave platvormidele ning kasuta Ruby Install.rb Facteri ja Puppet'i paigaldamiseks.
3.2 Kataloogistruktuur pärast paigaldamist (1) Paigalduskataloog Paigalduskaust on salvestatud /etc/puppet'i ja manifesteerub selles kataloogi failides. Teised käivitatavad failid /user/sbin all on peamiselt järgmised: nukk: Kasutatakse kasutaja kirjutatud sõltumatute mainfest-failide käivitamiseks, näiteks: Puppet -l /tmp/manifest.log manifest.pp puppetd: kliendiprogramm, mis töötab hallataval hostil, näiteks: Puppet –server servername –waitforcert 60 puppetmasterd: serveriprogramm, mis töötab haldusmasinal, näiteks: Puppetmasterd –debug Puppetca Puppet sertifitseerimisprogrammi kasutatakse peamiselt orjasertifikaatide autentimiseks, näiteks: Kontrolli ori, keda autentitakse: nukuke –loend Sertifitseerige need orjad: nukud -s –a Puppetruni kasutatakse kliendiga ühenduse loomiseks, sundides kohalikku konfiguratsioonifaili käivitama, näiteks: puppetrun -p 10 –host host1 –host host2 -t remotefile -t webserver (2) Konfiguratsioonifailid puppet.conf Puppeti peamine konfiguratsioonifail on /etc/puppet/puppet.conf juurkasutajatele ja ~user/.puppet/puppet.conf tavakasutajatele Spetsiifiliste konfiguratsiooniparameetrite kohta vaata:
http://docs.puppetlabs.com/references/stable/configuration.html#configuration-files fileserver.conf Nukufailiserveri konfiguratsioonifail. Kasuta tee konfiguratsioonifaili teed ja luba/keela juurdepääsuõiguste seadistamiseks, vt http://docs.puppetlabs.com/guides/file_serving.html
3.3 Kontrolli, et paigaldus on edukas Vali orja, et kontrollida masteriga, eeldades, et slave host on slave00 ja mastermasteri host on masterhost, sisesta slave00-le: puppetd –test –server servername Seejärel vaata orja, keda autentitakse masterhostil: Nuku – nimekiri Kui see sobib, näed, kuidas slave00 allkirjastab orja sertifikaadi: nukk -s -a Nii läbis slave00 sertifikaadi valideerimise ja saab masteriga edasi suhelda. Kirjuta site.pp fail masterhosti /etc/puppet/manifests kataloogi, mis kõlab: node default { fail { "/tmp/test": content=>"tere", mode => 0644;
}
} Samal ajal sisesta slave00 peal puppetd –test –server servername, kontrolli slave00 /tmp kausta ja genereeri uus failitest, mille sisu on hello ja faili õigus on -rw-r—r-. Nii on nukupaigaldus tõestatud edukana
|