1. Áttekintés A Puppet egy nyílt forráskódú szoftverautomatizálási konfigurációs és telepítési eszköz, amely könnyen használható és hatékony, egyre nagyobb figyelmet kap, és sok nagy IT-cég most már a Puppet segítségével kezeli és telepíti a szoftvereket klaszterekben, például a Google a Puppet segítségével több mint 6000 Mac asztali számítógépet kezel (2007-es adatok). Ez a cikk főként a báb telepítési módszerét, tervezési architektúráját és használatát mutatja be.
2. Tervezési építészet A Puppet a C/S architektúrán alapul. A szerver oldal tárolja az összes konfigurációs kódot a kliensszerverhez, amit a bábban manifestnek hívnak. Miután a kliens letölti a manifestet, a szerver konfigurálható a manifest szerint, például csomagkezelés, felhasználói menedzsment és fájlkezelés.
Ahogy a fenti ábrán látható, a báb munkafolyamata a következő: (1) Az ügyfél báb hívja a factert, és facter érzékel néhány változót a gazdagépből, mint például a hostnév, memóriaméret, IP-cím stb. a pupppetd ezeket az információkat SSL kapcsolaton keresztül továbbítja a szervernek; (2) A szerveroldali bábmester felismeri a kliens hosztnevét, majd megtalálja a megfelelő csomópontkonfigurációt a manifestben, és ezt a tartalmi részt elemzi. Az elemzés több szakaszra oszlik: szintaxisellenőrzés és hibajelentés, ha a szintaxis hibás. Ha a szintaxis helyes, folytassuk az elemzést, és az elemzés eredménye köztes "pszeudokódot" generál, majd elküldi a pszeudokódot az ügyfélnek; (3) Az ügyfél megkapja a "pszeudokódot" és végrehajtja azt, majd elküldi a végrehajtó eredményt a szervernek; (4) A szerver oldal megírja a kliens végrehajtási eredményét a naplóba. Két fontos szempont a PUPPET munka folyamatában: először is, a biztonság érdekében az ügyfél és a mester SSL-en és tanúsítványokon alapulnak, és csak a mester által hitelesített kliens kommunikálhat a mesterrel; Másodszor, a Puppet egy bizonyos állapotban tartja a rendszert, amilyet vársz, és folyamatosan fenntartja, például felismeri a fájlt, és biztosítja, hogy az mindig létezik, biztosítja, hogy az ssh szolgáltatás mindig be van kapcsolva, ha a fájlt törölik vagy az ssh szolgáltatás bezárul, a következő alkalommal, amikor a báb elindul (alapértelmezetten 30 perc), újra létrehozza a fájlt vagy elindítja az ssh szolgáltatást.
3. Szoftver telepítése Nem ajánlott az apt-get parancs használatát telepítéshez, mert az ezzel a parancs által letöltött bában hiba van. Közvetlenül a forráskódból telepíthető, és a telepítendő szoftver ruby, facter és puppet.
3.1 Telepítési eljárás Szerkesztés /etc/host a hostnév módosítására, mivel a puppet tanúsítvány alapú és tartalmazza a hostnevet a tanúsítványban; Telepítsd a Ruby-t, Facter-t és Puppet-et a Master és Slave rendszerre, majd a Ruby Install.rb segítségével telepítsd a Facter és a Puppet rendszert.
3.2 Könyvtárszerkezet telepítés után (1) Telepítési könyvtár Az installációs könyvtár az /etc/puppet-ban van, és ebben a könyvtár manifest fájljában jelenik meg. Egyéb végrehajtható fájlok a /user/sbin alatt főként a következők: Báb: Független mainfests fájlok futtatására használják, amelyeket a felhasználó írt, például: Puppet -l /tmp/manifest.log manifest.pp puppetd: Egy kliens program, amely a kezelt hoszton fut, például: Puppet –Server serverName –waitforcert 60 puppetmasterd: Egy szerverprogram, amely a kezelőgépen fut, például: Puppetmasterd –Debug A Puppetca Puppet tanúsító programot elsősorban a rabszolga tanúsítványok hitelesítésére használják, például: Ellenőrizd a hitelesítésre alkalmas rabszolga: báb –lista Tanúsítsd ezeket a rabszolgákat: báb -s –a A Puppetrun segítségével csatlakozik az ügyfélhez, kényszerítve a helyi konfigurációs fájl futtatására, például: Puppetrun -p 10 –host host1 –host host2 -t remotefile -t webserver (2) Konfigurációs fájlok puppet.conf A Puppet fő konfigurációs fájlja a /etc/puppet/puppet.conf a root felhasználóknak, és ~user/.puppet/puppet.conf a normál felhasználóknak Konkrét konfigurációs paraméterekért lásd:
http://docs.puppetlabs.com/references/stable/configuration.html#configuration-files fileserver.conf A bábfájlszerver konfigurációs fájlja. Használd az útvonalkonfigurációs fájl útvonalát, és engedélyezze/megtilt hozzáférési jogosultságok konfigurálásához, lásd http://docs.puppetlabs.com/guides/file_serving.html
3.3 Ellenőrizze, hogy a telepítés sikeres volt Válasszunk egy szolgát a masterrel való ellenőrzéshez, feltételezve, hogy a slave hostja slave00, és a master hostje masterhost, írd be a slave00-ra: puppetd –test –server servername Ezután nézd meg a masterhoston hitelesítendő rabszolgát: Báb –lista Ha ez rendben van, láthatod, ahogy slave00 aláírja a slave tanúsítványát: Báb -s -a Így a slave00 átment a tanúsítvány validációján, és tovább tud interakcióba lépni a masterrel. Írd meg a site.pp fájlt a masterhost /etc/puppet/manifests könyvtárába, amely így szól: Node default { fájl { "/tmp/teszt": content=>"helló", mode => 0644;
}
} Ugyanakkor írd be a puppetd –test –server szervernév a slave00-on, ellenőrizze a slave00 /tmp mappáját, és hozzon létre egy új fájltesztet, amelynek tartalma hello, és a fájl engedélye -rw-r—r-. Így a báb telepítése sikeresnek bizonyult
|