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 |
Software | Puppet |
Other | Privileged access to your Linux system as root or via the sudo command. |
Conventions |
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command$ – 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 puppetserver
package.
# 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
Update Clients
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
package.
# puppet resource package puppet ensure=latest
The result will be similar. Now, start up the puppet
service.
# systemctl start puppet
Again, enable it at boot.
# systemctl enable puppet
Conclusion
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.