Do you think IIT Guwahati certified course can help you in your career?
No
Introduction
Puppet is a DevOps platform for configuration management. The Puppet server holds all the code for configuration. This configuration code is converted into commands by the Puppet Agent. There is a client-server relationship between the Puppet server and Puppet Agents, where the Puppet server is the master and the puppet agents are the clients.
The Puppet server is written in Ruby and Clojure programming languages and it runs on Java Virtual Machine (JVM). Puppet utilizes a declarative model i.e. the user needs to define the state to be configured instead of the steps needed to get there. The catalogs are written in Ruby code. It also provides certificate authority through Clojure.
In this article, we will discuss installation steps for Puppet server and some general information about the Puppet Server.
Checking Prerequisites
Puppet Server runs on Java Virtual Machine so, make sure you have a supported version of Java installed in your system. Puppet server is not supported by macOS.
Supported Operating System
The puppet server can run on any x86_64 Linux server with JDK 1.8 or 11. It is supported by the following list of operating systems -
Java Support
Puppet Server versions are tested against the following versions of Java:
Enabling Puppet platform repository
Before installing Puppet Server, we need to enable the Puppet Platform repository.
📌 Follow these steps for Yum Package management system -
🟧 Login as root.
🟧 Run the RPM tool in upgrade mode
sudo rpm -U <PACKAGE_URL>
🟧 To identify which Package URL will be used according to your system visit yum.puppet.com.
📌Follow these steps for Apt Package management system -
🟧 Login as root.
🟧 Download the package according to the requirements of your system, visit apt.puppet.com.
wget <PACKAGE_URL>
🟧 Run the dpkg tool in install mode.
sudo dpkg -i <FILE_NAME>.deb
🟧 Update the apt package list
sudo apt-get update
✅ Your operating system will manually verify the packages.
Installing Puppet Server
After enabling the puppet platform repository, you can download the Puppet server on your device.
⭐Install the Puppet server package.
For Red Hat operating systems:
yum install puppetserver
For Debian and Ubuntu operating systems:
apt-get install puppetserver
⭐Start the Puppet Server service, run following command
sudo systemctl start puppetserver
⭐Open a new shell to update your PATH. You can also use exec bash to update the path.
✅ Run following command to Check if the Puppet Server is installed correctly,
puppetserver -v
NOTE: After installing Puppet server you will need to install puppet agents whose configuration you want to control using the Puppet server. The above instructions are only for installing Puppet Server.
Primary server and agent compatibility
Use the below-given table to verify the compatibility version of the puppet agent and Puppet server.
For Open-source Puppet
Server
Agent
Puppet 5.x
Agent 5.x
Puppet 6.x
Agent 5.x, Agent 6.x
Puppet 7.x
Agent 6.x, Agent 7.x
For Puppet Enterprise (i.e. the commercial version of Puppet)
Server
Agent
Puppet Enterprise 2017.3 to 2018.1
Agent 5.x
Puppet Enterprise 2019.1 to 2019.8
Agent 5.x, Agent 6.x
Puppet Enterprise 2021.0 to later
Agent 6.x, Agent 7.x
Controlling the service
puppetserver is the name of the Puppet server service.
Use commands service puppetserver restart, service puppetserver status to start and stop the server.
About Puppet Server’s Environment
Embedded Web Server
Puppet server runs on Java Virtual Machine (JVM). Jetty is an open-source Java-based web server embedded in the JVM. Jetty is responsible for the features that allows the application to launch and run APIs. Puppet server is a Jetty-based web server. You can edit the web server setting from webserver.conf.
Certificate Authority Service
To ensure that the communication between the user and the website is authenticated i.e. to ensure that the user is connected to the real website instead of the malicious website that wants to steal the user’s data, a Secure Socket Layer (SSL) certificate is exchanged between the user and website. This SSL certificate is issued by Certificate Authority Service.
Puppet Server provides the Certificate Authority Service. It accepts requests from the node to sign the certificate (or certificate signing requests (CSR)) and servers to the node, the certificate and certificate revocation list (CRL).
The certificates are stored in files with a .pem extension. You can list, sign or revoke the certificates by using the puppetserver ca command.
Puppet is a DevOps platform for configuration management. It is a system management tool for automating and centralizing the configuration management process. It uses a declarative model based approach, that is, in Puppet, we describe the state of the system and not the steps needed to get there. It uses a Domain Specific Language (DSL) called the Puppet Code.
Which script paradigm does Puppet use?
Puppet uses the client-server script paradigm with a primary server called the master and many agent servers called nodes.
Can Puppet Server be installed in Windows?
No. Puppet Server can only be installed in a Linux environment. However, we can create a linux environment using a virtual machine in a windows system to use the Puppet server.
Conclusion
Yay! You have come to the end of this blog. In this blog, we discussed the steps to install Puppet server, along with the system prerequisites and also looked at how to control Puppet server’s service. Later on we discussed Jetty-web server being embedded in the Puppet server’s JVM. We ended this article by discussing the certificate authority service of Puppet Server.
Do not stop learning! We recommend you read some of our articles on Puppet -