
We’ll enable the official Puppet Labs collection repository with these commands: In this case, working with the official Puppet Labs repositories can simplify administration by allowing you to maintain the same Puppet version on all systems. Note: The Ubuntu package manager does contain packages for Puppet, but many administrators need to manage multiple operating systems and versions. At the end of the file, specify the Puppet master server as follows, substituting the IP address for your Puppet master: On each machine, edit the /etc/hosts file. In most situations, this will be accomplished using DNS, either configured on an externally hosted service or on self-hosted DNS servers maintained as part of the infrastructure.ĭNS is its own domain of expertise, however, even on hosted services, so in order to focus on the fundamentals of Puppet itself and eliminate potential complexity in troubleshooting while we’re learning, in this tutorial we’ll use the /etc/hosts file instead. Puppet master servers and the nodes they manage need to be able to communicate with each other. When these three servers are in place, you’re ready to begin. The other two servers will be Puppet agent nodes, managed by the Puppet master. To manage larger infrastructures, the Puppet master will require more resources. The Puppet master will run Puppet Server, which is resource intensive and requires: You can learn more about how to set up a user with sudo privileges in our Initial Server Setup with Ubuntu 16.04 guide. To follow this tutorial, you will need three Ubuntu 16.04 servers, each with a non-root user with sudo privileges. In this setup, the Puppet master server-which runs the Puppet Server software-can be used to control all your other servers, called Puppet agent nodes.

In this tutorial, we will demonstrate how to install open source Puppet 4 in a master-agent setup on Ubuntu 16.04.

Both of them run on most Linux distributions, various UNIX platforms, and Windows. Puppet comes in two varieties, Puppet Enterprise and open source Puppet. Planning ahead and using config management tools like Puppet can cut down on time spent repeating basic tasks and help ensure that configurations are consistent and accurate across your infrastructure. Puppet is a configuration management tool that helps system administrators automate the provisioning, configuration and management of a server infrastructure.
