Puppet paigaldamine ja seadistamine Centos & Ubuntu

From ICO wiki
Revision as of 09:29, 4 January 2013 by Plume (talk | contribs) (→‎Kasutamine)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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/