Puppet: Making a connection

In our first post, we gave you the overview of what puppet was and how to install the software so its available on your system. Now its time to get into the guts of the system and get your client connecting to your master server.

Configuration

By default, puppet really wants to look for a server at puppet.. If you need to change this to a different server name, you’ll want to edit the /etc/puppet/puppet.conf file and add in an entry such as this:

[agent]
server = puppet-server-FQDN-here

Since i’m using a private network, I have an entry in my /etc/hosts to force the puppet.usrlocal.com to go over a private address instead of the public IP that DNS will normally resolve to.

Contact!

We’re finally ready to connect our client to the master server. Its a simple process, but we’ll lay it all out so you konw what’s going on. Here’s the command that I typically use for making that initial contact.

puppet agent -t --waitforcert 60

If you didn’t put an entry in your /etc/puppet/puppet.conf file or you have your puppet server as a different name from puppet.domainname, then you’ll need to add…

--server yourpuppetserverhere

Since this is a new install and you probably haven’t setup anything fancy like the auto-signing of certificates. In order to allow your new client server to connect to the puppet master, you’ll need to sign the certificate request. On your puppet master server, issue the following command:

# To see the pending requests
puppetca --list

# to sign the certificate
puppetca --sign [cert]

Now go back to your newly created client machine and re-run the puppet agent command, you should see a different result.

puppet agent -t --waitforcert 60

[root@web1 ~]# puppet agent -t --waitforcert 60
info: Caching catalog for web1.usrlocal.com
info: Applying configuration version '1346573163'
notice: Finished catalog run in 1.39 seconds

Whoohoo! Success! Now time to start adding in some modules or creating some of your own!

More on the puppet agent command can be found in the PuppetLabs documentation.

Up Next

Our next post is going to be an example of your first module.