ItecSoftware Logo

Setup Puppet to configure your network servers

Written by Peter Gilg on - like this:
setup puppet master

Growing companies at some point are faced with the increased workload to setup, configure and maintain their servers and applications. Administrators try to script repetitive tasks and ultimately look for solutions that are scalable and provide a central management tool base. There are several software packages available, commercial and open source ones.

Puppet is probably the most used open source configuration management package available today and more system administrators and software developers are interested in setting it up within their environment. An excellent book about Puppet (Pulling Strings with Puppet) is available and so are numerous online articles and tutorials. However, lots of online resources are just not quite complete and can lead to lots of frustration, especially in the setup and configuration of Puppet.

So here is another step by step tutorial about how to install and setup Puppet to the point where we can run a simple recipe residing on the server (puppetmaster) and execute on the client. For this illustration we’ll install Puppet on Ubuntu 10.10 using a deb package.

Configure Network and DNS

Setting up configure hostnames on server and client is crucial. Since Puppet uses self signed certificates to secure communication, it’s essential that network is setup properly and hostnames are configured with fully qualified domain names.

Let’s open /etc/hosts and add the necessary entries. (note: If you use a DNS server in your network, those setting changes should be made on your DNS server and not the hosts file)

server hosts file (assuming server = 192.168.1.10, client = 192.168.1.20):

127.0.0.1 localhost.localdomain localhost puppet
192.168.1.10 puppet-server01.example.com puppet-server01 puppet
192.168.1.20 puppet-client01.example.com puppet-client01

verify:

# hostname => puppet-server01
# hostname -f => puppet-server01.example.com

client hosts file:

127.0.0.1 puppet-client01.example.com localhost
192.168.1.10 puppet-server01.example.com puppet-server01 puppet

verify:

# hostname => puppet-client01
# hostname -f => puppet-client01.example.com

In addition, you should ensure that no firewall is blocking port 8140, as Puppet is communicating on this port.

Now we’re ready to move on to installing the puppet server.

Listed in Linux, Mac, Shell Scripting, Ubuntu

Tags: puppet

Leave a Reply