1. Pregled Puppet je odprtokodno orodje za avtomatizacijo in konfiguracijo programske opreme, ki je enostavno za uporabo in zmogljivo, pridobiva vedno več pozornosti, številna velika IT podjetja pa zdaj uporabljajo puppet za upravljanje in nameščanje programske opreme v grozde, na primer Google uporablja puppet za upravljanje več kot 6.000 namiznih računalnikov Mac (podatki iz leta 2007). Ta članek predvsem predstavlja način namestitve, arhitekturo oblikovanja in način uporabe lutke.
2. Arhitektura načrtovanja Puppet temelji na arhitekturi C/S. Strežniška stran shranjuje vso konfiguracijsko kodo za odjemalski strežnik, ki se imenuje manifest in puppet. Ko odjemalec prenese manifest, je mogoče strežnik konfigurirati glede na manifest, kot so upravljanje paketov, upravljanje uporabnikov in upravljanje datotek.
Kot je prikazano na zgornji sliki, je potek dela lutke naslednji: (1) Odjemalska lutka kliče facter, in facter zazna nekatere spremenljivke gostitelja, kot so ime gostitelja, velikost pomnilnika, IP naslov itd. pupppetd pošlje te informacije strežniku preko SSL povezave; (2) Skrbnik na strežniški strani zazna ime gostitelja odjemalca, nato najde ustrezno konfiguracijo vozlišča v manifestu in razčleni ta del vsebine. Razčlenjevanje je razdeljeno na več stopenj: preverjanje sintakse in poročanje o napakah, če je sintaksa napačna. Če je sintaksa pravilna, nadaljujte z razčlenjevanjem, rezultat razčlenjevanja pa bo ustvaril vmesno "psevdokodo" in nato psevdokodo poslal odjemalcu; (3) Odjemalec prejme "psevdokodo" in jo izvede, odjemalec pa pošlje rezultat izvajanja strežniku; (4) Strežniška stran zapiše rezultat izvajanja odjemalca v dnevnik. V procesu dela PUPPET sta vredni omembe dve točki: prvo, da sta za zagotovitev varnosti odjemalec in glavni procesor osnovana na SSL in certifikatih, in le odjemalec z glavnim certifikatom lahko komunicira z glavnim certifikatom; Drugič, Puppet bo sistem ohranjal v določenem pričakovanem stanju in ga vzdrževal ves čas, na primer zaznal datoteko in zagotovil, da je vedno obstajala, da je ssh storitev vedno vklopljena; če je datoteka izbrisana ali ssh storitev zaprta, bo ob naslednjem zagonu lutke (privzeto 30 minut) ponovno ustvaril datoteko ali zagnal ssh storitev.
3. Namestitev programske opreme Ni priporočljivo uporabljati ukaza apt-get za namestitev, ker ima lutka, prenesena s tem ukazom, napako. Lahko se namesti neposredno iz izvorne kode, programska oprema, ki jo je treba namestiti, pa so ruby, facter in puppet.
3.1 Postopek namestitve Uredite /etc/host za spremembo imena gostitelja, saj je Puppet osnovan na certifikatu in vsebuje ime gostitelja v potrdilu; Namesti Ruby, Facter in Puppet na Master in Slave ter uporabi Ruby Install.rb za namestitev Facter in Puppet.
3.2 Struktura imenikov po namestitvi (1) Namestitveni imenik Namestitvena mapa je shranjena v /etc/puppet in se manifestira v manifestnih datotekah te mape za shranjevanje. Druge izvršljive datoteke pod /user/sbin večinoma vključujejo: lutka: Uporablja se za izvajanje neodvisnih datotek mainfests, ki jih je napisal uporabnik, kot so: lutka -l /tmp/manifest.log manifest.pp puppetd: Odjemalski program, ki teče na upravljanem gostitelju, kot so: puppet –server servername –waitforcert 60 puppetmasterd: Strežniški program, ki teče na upravljalskem stroju, kot so: puppetmasterd –debug Program certificiranja lutk Puppetca se večinoma uporablja za preverjanje sužnjevih certifikatov, kot so: Preverite sužnja za overitev: puppetca –seznam Potrdite te sužnje: puppetca -s –a Puppetrun se uporablja za povezavo z odjemalcem, kar prisili lokalno konfiguracijsko datoteko, na primer: puppetrun -p 10 –host host1 –host host2 -t remotefile -t spletni strežnik (2) Konfiguracijske datoteke puppet.conf Glavna konfiguracijska datoteka Puppeta je /etc/puppet/puppet.conf za root uporabnike in ~user/.puppet/puppet.conf za običajne uporabnike Za specifične konfiguracijske parametre glejte:
http://docs.puppetlabs.com/references/stable/configuration.html#configuration-files fileserver.conf Konfiguracijska datoteka lutkovnega datotečnega strežnika. Uporabite pot do konfiguracijske datoteke poti in dovolite/zavrnite konfiguracijo dostopnih dovoljenj, glej http://docs.puppetlabs.com/guides/file_serving.html
3.3 Preverite, ali je namestitev uspešna Izberite suženja, ki ga preverite z gospodarjem, ob predpostavki, da je gostitelj suženja slave00 in gostitelj mojstra glavni gostitelj, vnesite na slave00: puppetd –test –ime strežnika Nato poglej suženja, ki je treba biti avtentikiran na masterhostu: puppetca –seznam Če je to v redu, lahko vidite, kako slave00 podpisuje potrdilo o suženjstvu: puppetca -s -a Na ta način slave00 prestane validacijo certifikata in lahko še naprej komunicira z glavnim procesorjem. Datoteko site.pp zapišite v mapo /etc/puppet/manifests v masterhostu, ki se glasi: node default { datoteka { "/tmp/test": vsebina=>"pozdravljeni", način => 0644;
}
} Hkrati vnesite puppetd –test –server servername na slave00, preverite /tmp mapo slave00 in ustvarite nov test datoteke, katerega vsebina je hello, dovoljenje datoteke pa je -rw-r—r-. Na ta način se izkaže za uspešno namestitev lutk
|