Creating a Puppet Master on UbuntuPosted: December 5, 2012
You will need two systems for this walkthrough. One will become the Puppetmaster, controlling the deployment of the other system, known as a Puppet Node. I am using Amazon AWS for these systems, but you can use any solution that offers Ubuntu systems.
We will start with the Puppetmaster…
sudo apt-get install puppetmaster
sudo apt-get install puppet
You will need to be logged into both the master and the node for this next step.
On the node, the following command will get the node to connect to the master, where it will wait 60 seconds for the master to sign its certificate. Timing is important, you need to complete the steps on both servers within the allotted time.
On the node, run the following command:
sudo puppet agent --server <puppetmaster hostname> --waitforcert 60 --test
On the master, run the following to show the list of certificate requests. You should see your node listed:
sudo puppet cert list
Now sign the request:
sudo puppet cert --sign <node hostname>
If you an experience a timeout during the certificate signing process or if you run into trouble with this process, try deleting the /var/lib/puppet/ssl directory on both systems, then restart the puppetmaster daemon with:
sudo /etc/init.d/puppetmaster restart
Start Puppet Automatically
When you install puppetmaster on Ubuntu, it is configured to run automatically on boot, but you need to configure the node to start on boot.
Edit /etc/default/puppet and change:
Then start puppet:
service puppet start
At this point you have a complete puppet configuration. The only thing you are missing is a puppet configuration to share from the master to the node.