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.
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
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
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 }
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.
This example is very simple, and does not highlight many of Puppet's features and benefits. For more information see „Információforrások”. |
-
See the Official Puppet Documentation web site.
-
Also see Pulling Strings with Puppet.
-
Another source of additional information is the Ubuntu Wiki Puppet Page.