IP Address: 192.168.0.20
From:
# Pupper Server Configuration
[master]
dns_alt_names = puppetserver,puppetserver.itzgeek.local # Puppet Agent Configuration
[main]
certname = puppetserver.itzgeek.local
server = puppetserver.itzgeek.local
runinterval = 30m
Start Puppet Server
Contents
firewall-cmd --permanent --add-port=8140/tcp firewall-cmd --reload
Install & Configure Puppet Agent
Add Repository
puppetserver ca sign --all
JAVA_ARGS=”-Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger”
If needed, change the system timezone as well.
If you have multiple signing requests from nodes, you can sign all the requests in one command.
If you need to set up NTP Client, then:
Puppet client
If you need to set up NTP Client, then:
Prerequisites
Install NTP
The Puppet agent uses the hostname to communicate with the Puppet Server. So, make sure agent nodes can resolve the hostname of the Puppet Server with the help of /etc/hosts file or DNS server.
[main]
server = puppetserver.itzgeek.local
certname = client.itzgeek.local
runinterval = 30m
This guide helps you to install Puppet on CentOS 8 / RHEL 8.
puppetserver ca list
READ: How To Configure NTP Client Using Chrony
READ: How to Change Timezone in CentOS 8 / RHEL 8
To change the value of memory allocation, edit the below file.
DNS
systemctl start puppetserver systemctl enable puppetserver
Firewall
rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm
Install Agent
The timing of the master and client nodes should be accurately in sync with the NTP server because the Puppet server will be acting as the certificate authority.
Run the below command on the agent node to make an initial connection. You can ignore the warnings/errors.
puppet agent -t
puppetserver ca revoke –certname AGENT_NAME
Here, we will configure a puppet in Server/agent architecture.
Puppet Server is the server software that runs on the master node. Puppet Server controls the configurations of managed nodes (puppet-agent).
JAVA_ARGS=”-Xms512m -Xmx512m -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger”
Configure Puppet Server
Puppet is available for Linux, Mac, BSD, Solaris, and Windows operating systems. It is written in “Ruby” language and released under Apache License,
For 512MB, use the below settings.
rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm
Install Puppet
For this demo, I will allocate 512MB of memory.
READ: How To Configure NTP Server Using Chrony
vi /etc/puppetlabs/puppet/puppet.conf
vi /etc/puppetlabs/puppet/puppet.conf
puppetserver ca list --all
puppetserver ca setup
Host Name: puppetserver.itzgeek.local
We must approve a certificate request coming from each node. Agent nodes will request certificates for the first time if they attempt to run.
Start puppet agent on the node and make it start automatically on system boot.
yum install -y puppetserver
Memory Allocation
puppetserver ca sign –certname client.itzgeek.local
Puppet is an open-source configuration management tool that helps us to automate IT infrastructure, including provisioning, configuration management, patching of hundreds of client systems from the central location.
Host Name: client.itzgeek.local
Sign Agent Node Certificate on Master Server
Replace the <AGENT_NAME> with your client hostname.
Start and enable the Puppet Server.
puppet resource service puppet ensure=running enable=true
Puppet agent periodically sends facts to the puppet master and request a catalog. The master compiles and returns that particular node’s catalog, using the sources of information it has access to.
vi /etc/sysconfig/puppetserver
puppet agent --test
Set server value as per your Puppet server hostname. In my case, the server is puppetserver.itzgeek.local and certname is my client hostname (client.itzgeek.local).
Pupper is configured in an agent-master architecture. In this architecture, managed nodes run the puppet agent software, as a background service. On another hand, one or more servers run the master application, i,e. Puppet server.
Operating System: CentOS 8
If you need to set up NTP Server, then:
IP Address: 192.168.0.10