Puppet kasutamine Debianiga

Allikas: Kuutõrvaja
Redaktsioon seisuga 14. veebruar 2010, kell 15:54 kasutajalt Imre (arutelu | kaastöö) (Puppetmasteri ettevalmistamine)

Sissejuhatus

Puppet (ingl. k. nukk) http://reductivelabs.com/products/puppet/ võimaldab korraldada arvutite tarkvara ja seadistuste automatiseeritud haldust.

                  _____
                 |     | puppetmasterd
                 |_____|
                    |
                    |
            ---|----|-------|------------|---
               |            |            |
             __|__        __|__        __|__
            |     |      |     |      |     |  puppetd
            |_____|      |_____|      |_____|  ....
             
             smtp1        smtp2        squid
                       puppet kliendid

Puppetmaster'is (ingl. k. nukujuht) on kirjeldatud klientide tarkvara ja seadistused.

Tarkvara paigaldamine

Puppet serverile ehk puppetmasterile tuleb paigadada pakett puppetmaster

 # apt-get install puppetmaster

Puppet kliendile tuleb paigaldada pakett puppet

 # apt-get install puppet

Puppetmasteri ettevalmistamine

 # find /etc/puppet/modules -type f
 /etc/puppet/modules/sudo/files
 /etc/puppet/modules/sudo/files/sudoers
 /etc/puppet/modules/sudo/manifests
 /etc/puppet/modules/sudo/manifests/init.pp

kus

  • /etc/puppet/modules/sudo/files/sudoers fail sisaldab väljajagatava /etc/sudoers faili sisu
  • /etc/puppet/modules/sudo/manifests/init.pp sisaldab sudo mooduliga seotud metaandmeid
 # /etc/puppet/modules/sudo/manifests/init.pp
 
 class sudo {
 
   package { sudo: ensure => latest }
 
   file { "/etc/sudoers":
     owner => "root",
     group => "root",
     mode  => 440,
     source  => "puppet:///sudo/sudoers",
     require => Package["sudo"],
   }
 }

Moodulid ja node'id ühendab kokku kolm faili

 # find /etc/puppet/manifests -type f
 /etc/puppet/manifests/modules.pp
 /etc/puppet/manifests/nodes.pp
 /etc/puppet/manifests/site.pp

kus

  • /etc/puppet/manifests/modules.pp
 # /etc/puppet/manifests/modules.pp
 
 import "sudo"
  • /etc/puppet/manifests/nodes.pp
 # /etc/puppet/manifests/nodes.pp
 
 node basenode {
   include sudo
 }
 
 node 'puppet-1.auul' inherits basenode {
 }

Kasulikud lisamaterjalid