Puppet paigaldamine ja seadistamine Centos & Ubuntu
Autor
Priit Lume AK51 Viimati muudetud 04.01.2013
Sissejuhatus
Antud artikkel kirjeldab, kuidas paigaldada ja seadistada Puppet Centos ja Ubuntu operatsioonisüsteemides. Puppet on vabavaraline konfiguratsioonihaldus tarkvara, mis võimaldab tsentraliseeritult hallata erinevaid operatsioonisüsteeme kasutavaid servereid ja tööjaamu. Puppet töötab klient-server põhimõttel, kus klientmasinad käivad regulaarselt serverilt konfiguratsioone tõmbamas. Nii on võimalik vaid ühes kohas tehtavad muudatused kiiresti jagada määratud seadmetele. Juhend on mõeldud algajale administraatorile, kellel on mõningane kogemus Linuxi käsureaga ning on tuttav võrgu toimimise põhimõtetega. Antud näites paigaldatakse Puppetmaster CentOS 6.3 serverile ja Puppet klient Ubuntu 12.04 desktopile. Puppetmasteri ja Puppeti paigaldamine on kirjeldatud kummagi operatsioonisüsteemi kohta eraldi, edasised sammud läbisegi. Kuna enamus toimingute tegemiseks on vajalikud root taseme õigused, siis ei hakka seda käskude juures eraldi välja tooma.
CentOS
Paigaldamine
Puppet Labs repository lisamine:
sudo rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-6.noarch.rpm
Puppet Master serveri paigaldmaine:
yum install puppet-server
Seadistamine
CentOS serveril on vaikimis aktiivne iptables tulemüür. Et kliendid saaksid ühendust Puppetmaster teenusega, tuleb tulemüür deaktiveerida või lubada vastav tcp port (vaikimisi 8140).
Iptables deaktiveerimiseks
/etc-init.d/iptables stop
Või tcp port 8140 lubamiseks
iptables -A INPUT -p tcp --dport 8140 -j ACCEPT iptables-save /etc-init.d/iptables restart
Puppetmaster peamine konfiguratsioonifail on /etc/puppet/puppet.conf Tavaseadete korral ei ole otsest vajadus selle muutmiseks, kuid sealt saab näiteks määrata, millisel pordil Puppetmaster kuulab. Puppetmaster teenuse käivitamine
service puppetmaster start
Kui vaja, et serveri käivitamisel käivtuks Puppet automaatselt, tuleks sisestada
chkconfig puppetmaster on
Ubuntu
Paigaldamine
Uusima versiooni paigaldamiseks tasub lisada Puppet labsi repository, sest Ubuntu ja Debian vaikimisi seadistatud repositorydes ei pruugi olla värskeim versioon. Kõigepealt tuleks leida lehelt http://apt.puppetlabs.com/ vastava operatsioonisüsteemi versiooni paigaldus pakk ja see siis alla tõmmata. Antud näites on selleks Ubuntu 12.04 LTS “Precise Pangolin”, seega alla laadimiseks
wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
Ja paigaldamiseks
sudo dpkg -i puppetlabs-release-precise.deb sudo apt-get install puppet
Seadistamine
Puppetklient eeldab, et Puppetmaster serveri nimi on puppet, seega tuleks serveri nimi määrata konfiguratsioonifailis või lisada DNS seadetesse või /etc/hosts faili nimi puppet ja Puppetmaster serveri ip aadress.
Puppet kliendi seaded asuvad /etc/puppet/puppet.conf
Kasutamine
Puppeti kasutamiseks tuleb luua usaldus kliendi ja serveri vahel. Klientmasinast tuleb esmalt taotleda sertifikaat käsuga
puppet agent --test
Puppetmaster serveril tuleb allkirjastamist ootavate sertifikaatide kuvamiseks sisestada käsk
puppet cert list
Sertifikaadi allkirjastamiseks
puppet cert sign kliendinimi.domeen
Kui allkirjastamist ootavaid sertifikaate on palju, saab kõik korraga allkirjastada, kasutades käsku
puppet cert sign -all
Kui sertifikaat on allkirjastatud ja usaldus loodud, siis eelmise käsu kordamisel tõmbab ja rakendab klientmasin Puppetmasterilt konfiguratsioonid. Puppetmaster kasutab konfiguratsioonide asukohtade defineerimiseks faili /etc/puppet/manifests/site.pp Et kiirelt kontrollida toimivust, kirjutasin otse sinna faili järgneva:
file { "/etc/timezone": owner => "root", group => "root", mode => 644, }
Antud seadistus muudab faili /etc/timezone omaniku ja failiõigused. Seejärel muudan klientmasinas antud faili õiguseid käsuga chmod ning käivitan uuesti käsu
puppet agent --test
Käsu tulemusel taastuvad faili /etc/timezone algsed õigusd.
Kokkuvõte
Puppet on väga võimalusterohke tarkvara haldamaks kogu organisatsiooni masinaid keskselt. Kahjuks ei võimalda selle artikli maht tutvustada klientmasinate seadistamist detailides, kuid kuna tegemist on väga elujõulise vabavara kommuuniga, siis igaüks peaks leidma endale sobivaid seadistus variante või vähemalt viiteid, kuidas seda saavutada Puppet Labs lehelt.
Viited
http://docs.puppetlabs.com/guides/installation.html#post-install
http://docs.puppetlabs.com/learning/agent_master_basic.html
http://www.how2centos.com/centos-6-puppet-install/
http://aaronwalrath.wordpress.com/2010/09/03/installing-and-configuring-puppet-on-centos-linux/