Overview
Puppet is centralized pulling automation software which allows you to automate various of steps with a single software like:
- Installation of a Package
- Creation of a user
- Storage Management
- Others
Puppet is composed by two components:
- Master
- Slave/Agent
In a nutshell, the Agent is trying to pull the necessary steps from the master, each couple seconds. It is important to note that, the master doesn't push anything, the Agent is the one pulling the task to be done on itself.
Repo Configuration
To install it, we have to configure the Repo and install the server & agent for the master and the agent for the slave.
Please configure the following on both machines:
Configure Repo
[root@puppetmaster certificate_requests]# rpm -Uvh https://yum.puppet.com/puppet6-release-el-7.noarch.rpm Retrieving https://yum.puppet.com/puppet6-release-el-7.noarch.rpm Preparing... ################################# [100%] package puppet6-release-6.0.0-10.el7.noarch is already installed [root@puppetmaster certificate_requests]#
After you have the repo configured, let's configure each server, we will start with the master:
Install Master
Install Puppet Server
[root@puppetmaster etc]# yum install puppetserver Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.karneval.cz * extras: mirror.karneval.cz * updates: mirror.karneval.cz Resolving Dependencies --> Running transaction check ---> Package puppetserver.noarch 0:6.14.1-1.el7 will be installed --> Processing Dependency: puppet-agent >= 5.5.0 for package: puppetserver-6.14.1-1.el7.noarch --> Running transaction check ---> Package puppet-agent.x86_64 0:6.19.1-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================================================================================================== Package Arch Version Repository Size =========================================================================================================================================================================================== Installing: puppetserver noarch 6.14.1-1.el7 puppet6 61 M Installing for dependencies: puppet-agent x86_64 6.19.1-1.el7 puppet6 26 M Transaction Summary =========================================================================================================================================================================================== Install 1 Package (+1 Dependent package) Total download size: 87 M Installed size: 87 M Is this ok [y/d/N]: y Downloading packages: (1/2): puppet-agent-6.19.1-1.el7.x86_64.rpm | 26 MB 00:00:03 (2/2): puppetserver-6.14.1-1.el7.noarch.rpm | 61 MB 00:00:05 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 15 MB/s | 87 MB 00:00:05 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : puppet-agent-6.19.1-1.el7.x86_64 1/2 usermod: no changes Installing : puppetserver-6.14.1-1.el7.noarch 2/2 usermod: no changes Verifying : puppet-agent-6.19.1-1.el7.x86_64 1/2 Verifying : puppetserver-6.14.1-1.el7.noarch 2/2 Installed: puppetserver.noarch 0:6.14.1-1.el7 Dependency Installed: puppet-agent.x86_64 0:6.19.1-1.el7 Complete!
That will install both, the server and the agent on the master server.
Install Agent
Install the agent
[root@puppetagent etc]# yum install puppet-agent Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.energotel.sk * extras: ftp.energotel.sk * updates: ftp.energotel.sk Resolving Dependencies --> Running transaction check ---> Package puppet-agent.x86_64 0:6.19.1-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================================================================================================== Package Arch Version Repository Size =========================================================================================================================================================================================== Installing: puppet-agent x86_64 6.19.1-1.el7 puppet6 26 M Transaction Summary =========================================================================================================================================================================================== Install 1 Package Total download size: 26 M Installed size: 26 M Is this ok [y/d/N]: y Downloading packages: puppet-agent-6.19.1-1.el7.x86_64.rpm | 26 MB 00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : puppet-agent-6.19.1-1.el7.x86_64 1/1 Verifying : puppet-agent-6.19.1-1.el7.x86_64 1/1 Installed: puppet-agent.x86_64 0:6.19.1-1.el7 Complete!