40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
**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](https://www.puppet.com/docs/puppet/7/install_puppet.html) to get a Puppet server operational. A summarized workflow is seen below:
|
|
|
|
### Install Puppet Repository
|
|
**Installation Scope**: Puppet Server / Managed Devices
|
|
``` sh
|
|
# 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
|
|
``` sh
|
|
# 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
|
|
``` sh
|
|
# 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
|
|
``` |