Files
docs/Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md

1.5 KiB

Purpose: Puppet is another declarative configuration management tool that excels in system configuration and enforcement. Like Ansible, it's designed to maintain the desired state of a system's configuration but uses a client-server (master-agent) architecture by default.

!!! note "Assumptions" This document assumes you are deploying Puppet server onto Rocky Linux 9.4. Any version of RHEL/CentOS/Alma/Rocky should behave similarily.

Deployment Steps:

You will need to perform a few steps outlined in the official Puppet documentation to get a Puppet server operational. A summarized workflow is seen below:

Install Puppet Repository

Installation Scope: Puppet Server / Managed Devices

# Add Puppet Repository / Enable Puppet on YUM
sudo rpm -Uvh https://yum.puppet.com/puppet7-release-el-9.noarch.rpm

Install Puppet Server

Installation Scope: Puppet Server

# Install the Puppet Server
yum install -y puppetserver
systemctl enable --now puppetserver

# Validate Successful Deployment
exec bash
puppetserver -v

Install Puppet Agent

Installation Scope: Puppet Server / Managed Devices

# Install Puppet Agent
sudo yum install -y puppet-agent

# Enable the Puppet Agent
sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

# Configure Puppet Server to Connect To
puppet config set server lab-puppet-01.bunny-lab.io --section main