Puppet uses master-slave or client-server architecture. Puppet client and server interconnected by SSL, which is a secure socket layer. It is a model-driven system.
Here, the client is referred to as a Puppet agent/slave/node, and the server is referred to as a Puppet master.
Let's see the components of Puppet architecture:
Puppet master handles all the configuration related process in the form of puppet codes. It is a Linux based system in which puppet master software is installed. The puppet master must be in Linux. It uses the puppet agent to apply the configuration to nodes.
This is the place where SSL certificates are checked and marked.
Puppet Slave or Agent
Puppet agents are the real working systems and used by the Client. It is installed on the client machine and maintained and managed by the puppet master. They have a puppet agent service running inside them.
The agent machine can be configured on any operating system such as Windows, Linux, Solaris, or Mac OS.
Config repository is the storage area where all the servers and nodes related configurations are stored, and we can pull these configurations as per requirements.
Facts are the key-value data pair. It contains information about the node or the master machine. It represents a puppet client states such as operating system, network interface, IP address, uptime, and whether the client machine is virtual or not.
These facts are used for determining the present state of any agent. Changes on any target machine are made based on facts. Puppet's facts are predefined and customized.
The entire configuration and manifest files that are written in Puppet are changed into a compiled format. This compiled format is known as a catalog, and then we can apply this catalog to the target machine.
The above image performs the following functions:
Puppet Master-Slave Communication
Puppet master-slave communicates via a secure encrypted channel through the SSL (Secure Socket Layer). Let's see the below diagram to understand the communication between the master and slave with this channel:
The above diagram depicts the following: