Puppet paigaldamine ja seadistamine Centos & Ubuntu: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Plume (talk | contribs)
Plume (talk | contribs)
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Autor=
Priit Lume
AK51
Viimati muudetud 04.01.2013
=Sissejuhatus=
=Sissejuhatus=


Antud artikkel kirjeldab, kuidas paigaldada ja seadistada Puppet Centos ja Ubuntu operatsioonisüsteemides.
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.
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.
Artikkel on mõeldud algajale administraatorile, kes oskab kasutada linuxi käsurida ning on tuttav võrgu toimimise põhimõtetega.
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.


=Puppet paigaldamine=
=CentOS=
 
==Paigaldamine==
Kindlasti tuleks esmalt paigaldada ja seadistada Puppet server ehk Puppetmaster, kuna ilma selleta ei oleks klientidel kusagile pöörduda. Antud näites paigaldatakse Puppetmaster Centos operatsioonisüsteemile ja Puppet klient Ubuntule.
Kummagi operatsioonisüsteemiga tehtavad sammud on kirjeldatud eraldi, kuigi juures tuleb kasutada serverit ja klienti vaheldumisi.
Kuna enamus toimingute tegemiseks on vajalikud root taseme õigused, siis ei hakka seda eraldi välja tooma.
 
=Centos=
Puppet Labs repository lisamine:
Puppet Labs repository lisamine:
  sudo rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-6.noarch.rpm
  sudo rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-6.noarch.rpm
Puppet Master serveri paigaldmaine:
Puppet Master serveri paigaldmaine:
  yum install puppet-server
  yum install puppet-server
Teenuse käivitamine
 
==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
  service puppetmaster start
Kui vaja, et serveri käivitamisel käivtuks Puppet automaatselt
Kui vaja, et serveri käivitamisel käivtuks Puppet automaatselt, tuleks sisestada
  chkconfig puppetmaster on
  chkconfig puppetmaster on
Sertifikaatide kuvamiseks
puppet cert list
Certifikaadi allkirjastamiseks
puppet cert sign agent1.localdomain


=Ubuntu=
=Ubuntu=
==Paigaldamine==
Uusima versiooni paigaldamiseks tasub lisada Puppet labsi repository, sest Ubuntu ja Debian vaikimisi seadistatud repositorydes ei pruugi olla värskeim versioon.
Uusima versiooni paigaldamiseks tasub lisada Puppet labsi repository, sest Ubuntu ja Debian vaikimisi seadistatud repositorydes ei pruugi olla värskeim versioon.
Repository lisamine
Kõigepealt tuleks leida lehelt http://apt.puppetlabs.com/ vastava operatsioonisüsteemi versiooni paigaldus pakk ja see siis alla tõmmata.
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
Antud näites on selleks Ubuntu 12.04 LTS “Precise Pangolin”, seega alla laadimiseks
Line 35: Line 47:
  sudo dpkg -i puppetlabs-release-precise.deb
  sudo dpkg -i puppetlabs-release-precise.deb
  sudo apt-get install puppet
  sudo apt-get install puppet
Automaatseks käivitamiseks
chkconfig puppet on
Käivitamiseks nii, et näeks tulemusi
sudo puppet agent --test


==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.


Seaded asuvad
Puppet kliendi seaded asuvad
/etc/puppet/puppet.conf
/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=
=Viited=
Line 53: Line 91:


http://aaronwalrath.wordpress.com/2010/09/03/installing-and-configuring-puppet-on-centos-linux/
http://aaronwalrath.wordpress.com/2010/09/03/installing-and-configuring-puppet-on-centos-linux/
[[Category: Linuxi administreerimine]]

Latest revision as of 09:29, 4 January 2013

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/