Puppet

Puppet is a cross platform framework enabling system administrators to perform common tasks using code. The code can do a variety of tasks from installing new software, to checking file permissions, or updating user accounts. Puppet is great not only during the initial installation of a system, but also throughout the system's entire life cycle. In most circumstances puppet will be used in a client/server configuration.

This section will cover installing and configuring puppet in a client/server configuration. This simple example will demonstrate how to install Apache using Puppet.

Telepítés

To install puppet, in a terminal on the server enter:

sudo apt-get install puppetmaster

On the client machine, or machines, enter:

sudo apt-get install puppet

Beállítás

Prior to configuring puppet you may want to add a DNS CNAME record for puppet.example.com, where example.com is your domain. By default puppet clients check DNS for puppet.example.com as the puppet server name, or Puppet Master. See 7. fejezet - Tartománynév-szolgáltatás (DNS) for more DNS details.

If you do not wish to use DNS, you can add entries to the server and client /etc/hosts file. For example, in the puppet server's /etc/hosts file add:

127.0.0.1 localhost.localdomain localhost puppet
192.168.1.17 meercat02.example.com meercat02

On each puppet client, add an entry for the server:

192.168.1.16 meercat.example.com meercat puppet
[Megjegyzés]

Replace the example IP addresses and domain names above with your actual server and client addresses and domain names.

Now setup some resources for apache2. Create a file /etc/puppet/manifests/site.pp containing the following:

package {
    'apache2':
        ensure => installed
}

service {
    'apache2':
        ensure => true,
        enable => true,
        require => Package['apache2']
}

Next, create a node file /etc/puppet/manifests/nodes.pp with:

node 'meercat02.example.com' {
   include apache2
}
[Megjegyzés]

Replace meercat02.example.com with your actual puppet client's host name.

The final step for this simple puppet server is to restart the daemon:

sudo /etc/init.d/puppetmaster restart

Now everything is configured on the puppet server, it is time to configure the client.

First, configure the puppet agent daemon to start. Edit /etc/default/puppet, changing START to yes:

START=yes

Then start the service:

sudo /etc/init.d/puppet start

Back on the puppet server sign the client certificate by entering:

sudo puppetca --sign meercat02.example.com

Check /var/log/syslog for any errors with the configuration. If all goes well the apache2 package and it's dependencies will be installed on the puppet client.

[Megjegyzés]

This example is very simple, and does not highlight many of Puppet's features and benefits. For more information see „Információforrások”.

Információforrások