Table of contents
1.
Introduction
2.
What Is Puppet Application Manager❓
3.
How To Use Puppet Application Manager To Deploy Comply❓
4.
Architecture Overview
4.1.
Standalone Architecture
4.2.
HA Architecture
4.3.
Puppet Application Manager Architectures
4.3.1.
Standalone architecture
4.3.2.
HA Cluster Architecture
5.
PAM system requirements
5.1.
Customer-Supported Cluster Hardware Requirements
5.2.
Puppet-supported HA cluster hardware requirements
5.2.1.
Continuous Delivery for Puppet Enterprise (PE)
5.2.2.
Puppet Comply
5.2.3.
Continuous Delivery for Puppet Enterprise (PE) and Puppet Comply
5.2.4.
Cluster port requirements
5.3.
Puppet-supported standalone hardware requirements
5.3.1.
Continuous Delivery for Puppet Enterprise (PE)
5.3.2.
Puppet Comply
5.3.3.
Cluster port requirements
6.
Frequently Asked Questions
6.1.
What is the use of Puppet Application Manager?
6.2.
What is the use of Puppet?
6.3.
Why Puppet Comply?
6.4.
What are CIS Benchmarks?
6.5.
What is puppet language?
7.
Conclusion
Last Updated: Mar 27, 2024

About Puppet Application Manager

Author Akshat
0 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

Do you know what Puppet is? Puppet is a tool that helps us to manage and automate the configuration of servers. But do you know about Puppet Application Manager? No worries, in this blog, we will learn about Puppet Application Manager, how to use Puppet Application Manager, Puppet Application manager’s architecture, and Puppet Application Manager’s system requirements.

puppet application manager

Here, we will discuss more about puppet application manager❓. Are you ready❓

What Is Puppet Application Manager❓

The Puppet Application Manager installation process installs a managed Kubernetes cluster. On this Kubernetes cluster, Puppet Comply runs, and Puppet Application Manager takes care of the cluster management.

You can set up Puppet Comply. You should keep track of the cluster's activity, update to the most recent version of the program, and back up your installation using the Puppet Application Manager UI.

How To Use Puppet Application Manager To Deploy Comply❓

When the cluster is prepared, use the Puppet Application Manager UI to upload your Comply license and provide any installation-specific configuration information that may be required. When ready, you can deploy the most recent version of Comply with a single click.

Architecture Overview

Puppet Application Manager is run on Kubernetes. We offer a variety of supported configurations for various use cases.

Puppet Application Manager can be used on Kubernetes clusters supported by Puppet or the customer. The architecture overview provided on this page assumes that Puppet Application Manager is running on Puppet-supported clusters due to potential variations in the architecture of customer-supported collections.

Standalone Architecture

In Standalone architecture, the data is stored directly on a disc and is optimized for systems with few resources. If necessary, you will need to remove additional software like Prometheus and Grafana to reduce resource consumption. Secondary nodes can be used to increase compute capacity, but this does not increase resilience because data is only stored on the node where a component service is running.

HA Architecture

Ceph is a distributed storage system with high scalability that provides object, block, and file storage. A High Availability (HA) architecture uses Ceph for distributed storage in the event of node failure and offers high availability for scheduling application services during failure. If specific services lack replicas and need to be rescheduled, there may still be a brief loss of availability (up to 10 minutes) for particular applications. Three primary nodes must be arranged in a cluster for a HA implementation. Secondary nodes allow for the addition of additional computing power.

Puppet Application Manager Architectures

Some of the essential parts of standalone and HA architectures are listed below, along with an explanation of how they interact.

Standalone architecture


Puppet Application Manager

  • Resides on a Linux host's cluster.
  • Application services, PostgreSQL, and the admin console are all components of the Puppet Application Manager application.
  • To obtain updates, Puppet Application Manager communicates outside the Linux host.


UI Ports

  • The application UI communicates with the Linux host on port 80/443.
  • The HTTPS UI for the admin console connects to the Linux host on port 8800.


Backplane and Internal Ports

  • The backplane ports 6783 (TCP or UDP) and 10250 are included (TCP).
  • In a single host, backplane ports can also be used for inter-process communication.
  • These ports (6781 (TCP), 6782 (TCP), and 6784 (TCP) are only used for inter-process communication within a single host (UDP).


Additional Default Ports

  • 30900: Prometheus UI
  • 30902: Grafana UI
  • 30903: Alertmanager UI


HA Cluster Architecture


Control Plane (Primaries)

  • Many primary processors are able to handle application workloads.
  • Arranged as clusters on Linux hosts, each with a Ceph device or partition.
  • Each primary supports either PostgreSQL or the admin console and hosts Puppet Application Manager in addition to being able to run application services.


Workers (Secondaries)

  • Added to increase the capacity for carrying out application workloads.
  • Cluster-structured within Linux hosts.


Application Balancer

  • Workers and the control plane (primaries) can communicate with the balancer (secondaries).
  • Admin console HTTPS UI communication is received over port 8800.
  • Receives UI communication from the application over 80/443.
  • Internal APIs of network load balancers communicate with primary and secondary nodes over port 6443.


Internal ports

  • Backplane ports include 10250, 6783, 2379/2380 (TCP or UDP), and 6783. (TCP).
  • In a single host, backplane ports can also be used for inter-process communication.
  • These ports (6781 (TCP), 6782 (TCP), and 6784 (TCP) are only used for inter-process communication (Weave) within a single host (UDP).


Additional default ports

  • 30900: Prometheus UI
  • 30902: Grafana UI
  • 30903: Alertmanager UI

PAM system requirements

PAM (Puppet Application Manager) can be added to a customer-supported cluster or installed on a Puppet-supported cluster. Verify that your system satisfies these requirements before installing PAM.

Customer-Supported Cluster Hardware Requirements

There is support for the following Kubernetes distributions:

👉Google Kubernetes Engine

👉AWS Elastic Kubernetes Service

If you use a different distribution, get in touch with Puppet Support to learn more about Puppet Application Manager compatibility.

Application requirements

Application CPU Memory Storage Ports
Continuous Delivery for Puppet Enterprise (PE) 3 CPU 8 GB 280 GB

Ingress, NodePort 8000

 

Puppet Comply 7 CPU 7 GB 35 GB

Ingress, NodePort 30303

 

Make sure your Kubernetes cluster satisfies the prerequisites:

👉Kubernetes version 1.19-1.23.

👉A standard storage class that supports movable storage.

👉A typical Ingress controller with WebSocket support (we have tested with Project Contour and NGINX).

👉Currently, Google Kubernetes Engine (GKE) clusters are tested and supported by us.

Puppet-supported HA cluster hardware requirements

Multiple servers are used in a high availability (HA) configuration to ensure availability in the event of a server failure. To maintain service availability, the vast majority of servers must be online. For each application, the suggested configurations are listed below.

Continuous Delivery for Puppet Enterprise (PE)

Three servers with the bare minimum specifications:

CPU Memory Storage Open ports
6 CPU 10 GB

On an unformatted storage device, there is 100 GB.

For /var/log/apiserver, the Kubernetes audit logs are 1 GB.

100 extra gigabytes for /var/lib. It is not necessary to use separate filesystems, but you can if you must. Here is a general breakdown of usage for your reference:

      👉2 GB for /var/lib/etcd

      👉10 GB for /var/lib/rook (plus buffer)

      👉32 GB for /var/lib/kubelet

      👉40 GB for /var/lib/containerd

Note: The utilisation of the /var/lib/rook file system should be kept below 70%, according to the storage backend.

SSDs are recommended for /var/lib/etcd and /var/lib/rook.

TCP: 80, 443, 2379, 2380, 6443, 6783, 8000, 8800, and 10250

UDP: 6783, 6784

Puppet Comply

Three servers with the bare minimum specifications:

CPU Memory Storage Open ports
7 CPU 10 GB

On an unformatted storage device there is 100 GB.

For /var/log/apiserver, the Kubernetes audit logs are 1 GB.

100 extra gigabytes for /var/lib. It is not necessary to use separate filesystems, but you can if you must. Here is a general breakdown of usage for your reference:

      👉2 GB for /var/lib/etcd

      👉10 GB for /var/lib/rook (plus buffer)

      👉32 GB for /var/lib/kubelet

      👉40 GB for /var/lib/containerd

Note: The utilisation of the /var/lib/rook file system should be kept below 70%, according to the storage backend.

SSDs are recommended for /var/lib/etcd and /var/lib/rook.

TCP: 80, 443, 2379, 2380, 6443, 6783, 8800, 10250, and 30303

UDP: 6783, 6784

 

Continuous Delivery for Puppet Enterprise (PE) and Puppet Comply

Three servers (referred to as primaries during installation) with the following minimum requirements:

CPU Memory Storage Open ports
8 CPU 13 GB

On an unformatted storage device there is 100 GB.

For /var/log/apiserver, the Kubernetes audit logs are 1 GB.

100 extra gigabytes for /var/lib. Using separate filesystems is unnecessary, but you can if you must. Here is a general breakdown of usage for your reference:

      👉2 GB for /var/lib/etcd

      👉10 GB for /var/lib/rook (plus buffer)

      👉32 GB for /var/lib/kubelet

      👉40 GB for /var/lib/containerd

Note: The utilisation of the /var/lib/rook file system should be kept below 70%, according to the storage backend.

SSDs are recommended for /var/lib/etcd and /var/lib/rook.

TCP: 80, 443, 2379, 2380, 6443, 6783, 8800, 10250, and 30303

UDP: 6783, 6784

 

Cluster port requirements

Puppet Application Manager (PAM) uses the following ports in an HA cluster architecture:

Category Port Protocol Purpose Source
Puppet application ports 443 TCP

Web UI

Relies on Server Name Indication to route requests to the application.

Browser
Continuous Delivery for Puppet Enterprise (PE) ports 8000 TCP Webhook service Source control
Puppet Comply ports 30303 TCP Communication with Puppet Enterprise (PE) PE instance
Platform ports 2379, 2380 TCP

High availability (HA) communication

Only needs to be open between the cluster's primary nodes.

etcd on the Kubernetes host.
6443 TCP

Kubernetes API

Might be useful to expose to workstations.

Admin workstation
6781, 6782 TCP Kubernetes networking - Weave Kubernetes host
6783 TCP/UDP
6784 UDP
8800 TCP PAM Admin browser
9001 TCP

Internal registry in offline installs only.

Requires configuring an Ingress to use this port.

Kubernetes host
10250 TCP

Kubernetes cluster management

Only communicates in one direction, from a primary to other primaries and secondaries.

Kubernetes hosts

Puppet-supported standalone hardware requirements

Here are the suggested configurations for standalone installations.

Continuous Delivery for Puppet Enterprise (PE)

CPU Memory Storage Open ports
4 CPU 8 GB

130 GB for /var/lib and /var/openebsThis is primarily divided among:

  • 2 GB for /var/lib/etcd
  • 32 GB for /var/lib/kubelet
  • 40 GB for /var/lib/containerd
  • 50 GB for /var/openebs

TCP: 80, 443, 2379, 2380, 6443, 6783, 8000, 8800, and 10250

UDP: 6783, 6784

Puppet Comply

CPU Memory Storage Open ports
7 CPU 7 GB

130 GB for /var/lib and /var/openebsThis is primarily divided among:

  • 2 GB for /var/lib/etcd
  • 32 GB for /var/lib/kubelet
  • 40 GB for /var/lib/containerd
  • 50 GB for /var/openebs

TCP: 80, 443, 2379, 2380, 6443, 6783, 8800, 10250, and 30303

UDP: 6783, 6784

Cluster port requirements

Puppet Application Manager (PAM) uses the following ports in a standalone architecture:

Category Port Protocol Purpose Source
Puppet application ports 442 TCP

Web UI

Relies on Server Name Indication to route requests to the application.

Browser
Continuous Delivery for Puppet Enterprise (PE) ports 8000 TCP Webhook service Source control
Puppet Comply ports 30303 TCP Communication with Puppet Enterprise PE instance
Platform ports 6443 TCP

Kubernetes API

Might be useful to expose to workstations.

Admin workstation
6781, 6782 TCP Kubernetes networking - Weave Kubernetes host
6783 TCP/UDP
6784 UDP
8800 TCP PAM Admin browser
9001 TCP

Internal registry in offline installs only.

Requires configuring an Ingress to use this port.

Kubernetes host
10250 TCP

Kubernetes cluster management

Only communicates in one direction, from a primary to other primaries and secondaries.

Kubernetes host

We hope you have understood everything about Puppet Application Manager. 🙌

Also read, kubernetes interview questions

Frequently Asked Questions

What is the use of Puppet Application Manager?

Puppet Application Manager takes care of the cluster management on which puppet comply runs.

What is the use of Puppet?

With the aid of Puppet, you can manage and automate the configuration of servers. When using Puppet, specify the ideal state for the infrastructure systems you want to manage.

Why Puppet Comply?

Continuous compliance monitoring across hybrid infrastructure is possible with less manual labor and overhead.

What are CIS Benchmarks?

The Center for Internet Security (CIS) has developed a set of best practices called the CIS Benchmarks to assist security practitioners in implementing and managing their cybersecurity defenses.

What is puppet language?

Puppet provides the ability to define which software and configuration a system requires and then maintain a specified state after an initial setup. 

Conclusion

In this blog, we studied SEO and explored some primary SEO techniques. You can refer to similar articles for more information

  1. Puppet Language
  2. Continuous Delivery for Puppet Enterprise
  3. Overview of Puppet Development Kit
  4. Impact Analysis in Continuous Delivery
  5. Constructing Pipelines in Puppet Enterprise

You can refer to our guided paths on Coding Ninjas Studio to learn more about DSA, Competitive Programming, JavaScript, System Design, etc. Enroll in our courses and refer to the mock test and problems available. Take a look at the interview experiences and interview bundle for placement preparations.

 

Happy learning Ninja!🥷

Live masterclass