1. Apžvalga "Puppet" yra atvirojo kodo programinės įrangos automatizavimo konfigūravimo ir diegimo įrankis, kurį lengva naudoti ir kuris sulaukia vis daugiau dėmesio, o daugelis didelių IT įmonių dabar naudoja marionetę programinei įrangai valdyti ir diegti klasteriuose, pavyzdžiui, "Google" naudoja marionetę, kad valdytų daugiau nei 6 000 "Mac" stalinių kompiuterių (2007 m. duomenys). Šiame straipsnyje daugiausia pristatomas lėlių diegimo būdas, dizaino architektūra ir naudojimo būdas.
2. Dizaino architektūra "Puppet" yra pagrįsta C/S architektūra. Serverio pusėje saugomas visas kliento serverio konfigūracijos kodas, kuris vadinamas manifestu marionetėje. Klientui atsisiuntus deklaraciją, serverį galima sukonfigūruoti pagal deklaraciją, pvz., paketų valdymą, vartotojų valdymą ir failų valdymą.
Kaip parodyta aukščiau esančiame paveikslėlyje, lėlių darbo eiga yra tokia: (1) Kliento lėlė iškviečia faktorą, o faktoris aptinka kai kuriuos pagrindinio kompiuterio kintamuosius, tokius kaip pagrindinio kompiuterio pavadinimas, atminties dydis, IP adresas ir kt. pupppetd siunčia šią informaciją į serverį per SSL ryšį; (2) Serverio puppetmaster aptinka kliento pagrindinio kompiuterio pavadinimą, tada deklaracijoje randa atitinkamą mazgo konfigūraciją ir analizuoja šią turinio dalį. Analizė yra padalinta į kelis etapus, sintaksės tikrinimą ir klaidų ataskaitų teikimą, jei sintaksė neteisinga. Jei sintaksė teisinga, tęskite analizę, o analizės rezultatas sugeneruos tarpinį "pseudokodą", o tada nusiųs pseudokodą klientui; (3) Klientas gauna "pseudokodą" ir jį vykdo, o klientas siunčia vykdymo rezultatą į serverį; (4) Serverio pusė įrašo kliento vykdymo rezultatą į žurnalą. PUPPET darbo procese verta atkreipti dėmesį į du dalykus: pirma, siekiant užtikrinti saugumą, klientas ir meistras yra pagrįsti SSL ir sertifikatais, o su pagrindiniu sertifikatu autentifikuotas klientas gali bendrauti su pagrindiniu sertifikatu; Antra, lėlė išlaikys sistemą tam tikroje būsenoje, kurios tikitės, ir visą laiką ją palaikys, pvz., aptiks failą ir užtikrins, kad jis visada egzistuotų, užtikrins, kad ssh paslauga visada būtų įjungta, jei failas bus ištrintas arba ssh paslauga uždaryta, kitą kartą paleidus lėlę (30 minučių pagal numatytuosius nustatymus), ji iš naujo sukurs failą arba paleis ssh paslaugą.
3. Programinės įrangos diegimas Diegimui nerekomenduojama naudoti komandos apt-get, nes šios komandos atsisiųsta lėlė turi klaidą. Jį galima įdiegti tiesiai iš šaltinio kodo, o programinė įranga, kurią reikia įdiegti, yra ruby, facter ir puppet.
3.1 Diegimo procedūra Redaguokite /etc/host, kad pakeistumėte pagrindinio kompiuterio pavadinimą, nes lėlė yra pagrįsta sertifikatu ir sertifikate yra pagrindinio kompiuterio pavadinimas; Įdiekite "Ruby", "Facter" ir "Puppet" "Master and Slave" ir naudokite "Ruby Install.rb", kad įdiegtumėte "Facter" ir "Puppet".
3.2 Katalogo struktūra po įdiegimo (1) Diegimo katalogas Diegimo katalogas saugomas /etc/puppet ir pasireiškia šiame kataloge saugyklos deklaracijos failuose. Kiti vykdomieji failai pagal /user/sbin daugiausia apima: lėlė: naudojamas vykdyti nepriklausomus vartotojo parašytus pagrindinius failus, tokius kaip: marionetė -l /tmp/manifest.log manifest.pp puppetd: kliento programa, veikianti valdomame pagrindiniame kompiuteryje, pvz.: puppet –serverio serverio pavadinimas –waitforcert 60 puppetmasterd: serverio programa, veikianti valdymo kompiuteryje, pvz.: Puppetmasterd – derinimas "Puppetca Puppet" sertifikavimo programa daugiausia naudojama vergų sertifikatams, tokiems kaip: Patikrinkite, ar vergas turi būti autentifikuotas: puppetca –sąrašas Patvirtinkite šiuos vergus: puppetca -s –a Puppetrun naudojamas prisijungti prie kliento, priverčiant paleisti vietinį konfigūracijos failą, pvz.: puppetrun -p 10 –host host1 –host host2 -t remotefile -t webserver (2) Konfigūracijos failai puppet.conf Pagrindinis "Puppet" konfigūracijos failas yra /etc/puppet/puppet.conf root vartotojams ir ~user/.puppet/puppet.conf paprastiems vartotojams Konkrečius konfigūracijos parametrus žr.:
http://docs.puppetlabs.com/references/stable/configuration.html#configuration-files failų serveris.conf Lėlių failų serverio konfigūracijos failas. Naudokite kelio konfigūracijos failo kelią ir leisti/uždrausti, kad sukonfigūruotumėte prieigos teises, žr http://docs.puppetlabs.com/guides/file_serving.html
3.3 Patikrinkite, ar diegimas sėkmingas Pasirinkite vergą, kurį norite patikrinti su šeimininku, darant prielaidą, kad vergų šeimininkas yra vergas00, o šeimininko šeimininkas yra šeimininkas, įveskite vergą00: puppetd –test –serverio serverio pavadinimas Tada pažvelkite į vergą, kuris turi būti autentifikuotas masterhost: puppetca – sąrašas Jei tai gerai, galite pamatyti slave00 pasirašant vergo pažymėjimą: puppetca -s -a Tokiu būdu slave00 išlaikė sertifikato patvirtinimą ir gali toliau bendrauti su meistru. Parašykite site.pp failą į masterhost katalogą /etc/puppet/manifests, kuriame rašoma: mazgo numatytasis { failas { "/tmp/testas": content=>"sveiki", režimas = > 0644;
}
} Tuo pačiu metu įveskite puppetd –test –server servername on slave00, patikrinkite slave00 aplanką /tmp ir sugeneruokite naują failo testą, kurio turinys yra hello, o failo leidimas yra -rw-r—r-. Tokiu būdu įrodyta, kad lėlių diegimas yra sėkmingas
|