1. Yleiskatsaus Puppet on avoimen lähdekoodin ohjelmistoautomaation konfigurointi- ja käyttöönottotyökalu, joka on helppokäyttöinen ja tehokas, ja joka saa yhä enemmän huomiota. Monet suuret IT-yritykset käyttävät nyt Puppetia ohjelmistojen hallintaan ja käyttöönottoon klustereissa, kuten Google käyttää Puppetia yli 6 000 Mac-pöytätietokoneen hallintaan (vuoden 2007 data). Tässä artikkelissa esitellään pääasiassa nuken asennustapa, suunnittelu, arkkitehtuuri ja käyttötavat.
2. Suunnitteluarkkitehtuuri Puppet perustuu C/S-arkkitehtuuriin. Palvelinpuoli tallentaa kaiken asiakaspalvelimen konfiguraatiokoodin, jota kutsutaan nimellä manifest in puppet. Kun asiakas lataa manifestin, palvelin voidaan konfiguroida manifestin mukaisesti, kuten pakettien hallinta, käyttäjähallinta ja tiedostojen hallinta.
Kuten yllä olevassa kuvassa näkyy, nukken työnkulku on seuraava: (1) Asiakasnukke kutsuu faktia, ja fakteri tunnistaa joitakin isännän muuttujia, kuten isäntänimen, muistin koon, IP-osoitteen jne. pupppetd lähettää tämän tiedon palvelimelle SSL-yhteyden kautta; (2) Palvelinpuolen nukkemestari tunnistaa asiakkaan isäntänimen, löytää manifestista vastaavan solmukonfiguraation ja jäsentää tämän osan sisällöstä. Jäsentäminen on jaettu useisiin vaiheisiin: syntaksin tarkistukseen ja virheiden raportointiin, jos syntaksi on väärä. Jos syntaksi on oikein, jatka jäsentämistä, ja jäsentämisen tulos tuottaa väliaikaisen "pseudokoodin" ja lähettää pseudokoodin asiakkaalle; (3) Asiakas vastaanottaa "pseudokoodin" ja suorittaa sen, ja asiakas lähettää suoritustuloksen palvelimelle; (4) Palvelinpuoli kirjoittaa asiakkaan suoritustuloksen lokiin. PUPPET-työn prosessissa on kaksi huomionarvoista seikkaa: ensinnäkin, turvallisuuden varmistamiseksi asiakas ja mestari perustuvat SSL:ään ja sertifikaatteihin, ja vain päävarmenteella todennettu asiakas voi kommunikoida mestarin kanssa; Toiseksi, Puppet pitää järjestelmän tietyssä odotetussa tilassa ja ylläpitää sitä jatkuvasti, esimerkiksi tunnistaa tiedoston ja varmistaa, että se on aina olemassa, varmistaa, että ssh-palvelu on aina päällä, jos tiedosto poistetaan tai ssh-palvelu suljetaan, seuraavan kerran kun nukke suoritetaan (oletuksena 30 minuuttia), se luo tiedoston uudelleen tai käynnistää ssh-palvelun.
3. Ohjelmiston asennus Apt-get -komentoa ei suositella asennukseen, koska tällä komennolla ladatussa nukessa on bugi. Sen voi asentaa suoraan lähdekoodista, ja ohjelmisto, joka täytyy asentaa, ovat ruby, fakter ja puppet.
3.1 Asennusmenettely Muokkaa /etc/host muuttaaksesi isäntänimeä, koska Puppet perustuu varmenteeseen ja sisältää isäntänimen varmenteeseen; Asenna Ruby, Facter ja Puppet Master- ja Slave-laitteisiin, ja käytä Ruby Install.rb:tä Facterin ja Puppetin asentamiseen.
3.2 Hakemistorakenne asennuksen jälkeen (1) Asennushakemisto Asennushakemisto tallennetaan /etc/nukkekansioon ja ilmenee tässä hakemistokansion manifestitiedostoissa. Muita suoritettavia tiedostoja /user/sbin -alla ovat pääasiassa seuraavat: nukke: Käytetään käyttäjän kirjoittamien itsenäisten päätiedostojen suorittamiseen, kuten: Puppet -l /tmp/manifest.log manifest.pp puppetd: Asiakasohjelma, joka toimii hallitussa isännässä, kuten: Puppet –server servername –waitforcert 60 puppetmasterd: Palvelinohjelma, joka toimii hallintakoneella, kuten: Puppetmasterd –debug Puppetca Puppet -sertifiointiohjelmaa käytetään pääasiassa orjasertifikaattien todentamiseen, kuten: Tarkista todennettava orja: puppetca –list Sertifioi nämä orjat: nukke -s –a Puppetrunia käytetään yhdistämään asiakkaaseen, pakottaen paikallisen konfiguraatiotiedoston suorittamaan, kuten: puppetrun -p 10 –host host1 –host host2 -t remotefile -t webserver (2) Konfiguraatiotiedostot puppet.conf Puppetin pääkonfiguraatiotiedosto on /etc/puppet/puppet.conf juurikäyttäjille ja ~user/.puppet/puppet.conf tavallisille käyttäjille Tarkat konfiguraatioparametrit löytyvät katso:
http://docs.puppetlabs.com/references/stable/configuration.html#configuration-files fileserver.conf Nukketiedostopalvelimen konfiguraatiotiedosto. Käytä polun konfiguraatiotiedostopolkua ja salli/kielto käyttöoikeuksien konfigurointiin, katso http://docs.puppetlabs.com/guides/file_serving.html
3.3 Varmista, että asennus onnistuu Valitse orja tarkistettavaksi masterilla, olettaen että slaven isäntä on slave00 ja masterin isäntä masterhost, syötä slave00:lle: puppetd –test –server servername Sitten katso orjaa, joka todennetaan masterhostilla: Puppetca –lista Jos se sopii, näet slave00:n allekirjoittavan orjan todistuksen: Puppetca -s -a Näin slave00 läpäisi sertifikaatin validoinnin ja voi olla vuorovaikutuksessa masterin kanssa jatkossa. Kirjoita site.pp-tiedosto masterhostin /etc/puppet/manifests-hakemistoon, jossa lukee: solmun oletusarvo { tiedosto { "/tmp/testi": content=>"hei", tila => 0644;
}
} Samalla syötä slave00:lle puppetd –test –server, tarkista slave00:n /tmp-kansio ja luo uusi tiedostotesti, jonka sisältö on hello ja tiedoston käyttöoikeus on -rw-r—r-. Näin nukkeasennus osoittautuu onnistuneeksi
|