IT admins rely on Puppet to manage complex deployments every day. If your network is built on Red Hat systems, you’re going to need to install Puppet on RHEL 8 / CentOS 8. Puppet Labs provides a repository and packages, so the whole thing should be relatively hassle free.
In this tutorial you will learn:
- How to Enable the Puppet Repo
- How to Install Puppet for Servers/Puppet Masters
- How to Update Servers/Puppet Masters
- How to Install Puppet for Clients
- How to Update Puppet Clients
Software Requirements and Conventions Used
|Category||Requirements, Conventions or Software Version Used|
|System||RHEL 8 / CentOS 8|
|Other||Privileged access to your Linux system as root or via the
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of
$ – requires given linux commands to be executed as a regular non-privileged user
Enable the Puppet Repo
Puppet Labs provides a repository for RHEL and CentOS systems. The first step in setting up Puppet for either client or server machines is enabling the repository. It’s available in the form of a convenient RPM, so go ahead and install it with DNF.
# dnf install https://yum.puppetlabs.com/puppet-release-el-8.noarch.rpm
Install Puppet for Servers/Puppet Masters
The process for installing Puppet on your servers/Puppet Master instances is a bit different than the machines that you’ll be managing. Begin by installing the
# dnf install puppetserver
Update Servers/Puppet Masters
Next, it’s best to have Puppet update itself to the absolute latest version. You can achieve this with a built-in command that tells puppet to ensure that it’s running the latest version.
# puppet resource package puppetserver ensure=latest
Now, go ahead and start your Puppet server with systemd
# systemctl start puppetserver
You can always enable it at start too.
# systemctl enable puppetserver
Install Puppet for Clients
On your client machines, you only need to install the
puppet package itself. Use
dnf get it.
# dnf install puppet
Just like with the server, you’re going to need to make sure that your clients are completely up-to-date. You can accomplish this in nearly the same exact way. Only this time, you’re going to target the
# puppet resource package puppet ensure=latest
The result will be similar. Now, start up the
# systemctl start puppet
Again, enable it at boot.
# systemctl enable puppet
Now, you’re ready to install Puppet and configure your entire deployment. As of right now, these packages are still in beta, so there may be bugs and inconsistencies. This guide is primarily for testing new RHEL 8 deployments. Don’t expect major changes in the process before the release, though. The process will likely remain the same later in RHEL 8’s life cycle.