Puppet : Building puppet Master-Client Infrastructure
By: Rajeev Ghosh
Tags: Automation, Automation Tools, Puppet, Infra As Code, Infrastructure As Code

Puppet is a Configuration Management tool that is used for deploying, configuring and managing servers.

Puppet uses a Master Slave architecture in which the Master and Slave communicate through a secure encrypted channel with the help of SSL.

In this article, we are going to learn how to configure Puppet Master — Slave architecture.

Pre-requisites:

In this demonstration, we will be using centos-07. Please go through the puppet documentation for supported OS platforms. For puppet Master, The Memory should be at least 5GB and there should be at least 4 core cpu. For puppet client, The memory should be at least 2 GB and there should be at least 2 core cpu. Both Master and Client server should be able to communicate to each other.

Configuring Puppet Master:

Please make puppet master as well as client entry in /etc/hosts file.

2. Download puppet enterprise software using below command:

3. Extract the tar ball:

[root@puppetmaster ~]# tar -xvf puppet-enterprise.tar.gz

4. You will see something like below:

5. Change to “ puppet-enterprise-2019.8.4-el-7-x86_64” directory and run the “puppet-enterprise-installer” script to install the puppet enterprise package:

Press “yes” or simply press “Enter” when it asks to proceed with installation. Installing puppet master takes considerable amount to time( 30 Mins approx) in may case. So, just wait and grab a cup of Coffee !!

If everything goes fine as planned, you will see a message stating Installation is complete.

6. Now set the puppet console admin password with below command:

7. Run the following command twice in “Puppet Master “ server.

[root@puppetmaster ~]# puppet agent -t -d

7. Now open your windows hosts file using notepad with admin rights and modify it as below:

8. Now type “puppetmaster.unixlab.in” in your browser , you should get something similar as below:

9. Enter username = admin . The password would be the password you have just set.

10. Once you login, you will be inside puppet enterprise server dashboard.

Congratulations !! you have successfully setup puppet master.

Configuring Puppet-Client:

Pre-requisites:

In this demonstration, we will be using centos-07. Please go through the puppet documentation for supported OS platforms. For puppet client, The memory should be at least 2 GB and there should be at least 2 core cpu.

Please follow along :

Please make puppet client as well as puppet master entry in /etc/hosts file.

2. Now install puppet agent on puppet client with below command:

curl — insecure https://puppetmaster.unixlab.com:8140/packages/current/install.bash | bash

3. Now go to Puppet master server dashboard → certificates → Unsigned certificates tab, you will see “puppet client” listed there. Click on “Accept” to accept the certificate.

4. Alternatively, you can accept the certificate from “puppet master server” as below:

5. If you now go to “puppet master server dashboard” and refresh the page, you will not see any unsigned certificates.

6. Go to Nodes tab, you will see both Puppet master and Puppet client listed.

That’s it. Your puppet Master-client Infrastructure is ready to use.

Happy Learning !!!