Install PE using PIM
Puppet Installation Manager (PIM) supports the deployment of standard, large, and extra-large PE architectures. For an interactive experience, choose the guided installation and follow the step-by-step process in your terminal to configure and install the PE infrastructure you require. Alternatively, if you do not require guidance, you can create a JSON file containing your custom installation parameters, and run the installation from the command line.
Regardless of the installation process you choose, you can use PIM on a jump host to install PE infrastructure components on remote nodes that run a supported PE operating system. Alternatively, you can install PE locally by using PIM on a machine running a supported PE operating system. In this scenario, if you require additional infrastructure nodes to host PE components, your local machine can serve as a jump host.
PE infrastructure node | Description |
---|---|
Primary server (required) |
Essential for a PE installation. Can host all components and services for smaller scale environments that include up to 2,000 nodes. |
Primary server replica (optional) | To set up disaster recovery, install a replica of the primary server. If your primary server fails, the replica takes over to continue critical operations. |
Database server | In an extra-large PE installation, a dedicated database server hosts a PostgreSQL instance containing the PuppetDB database. |
Database server replica (optional) | Provides backup support during failovers. |
Compilers | Compilers process Puppet code and convert it into catalogs that can be applied to agent nodes. The primary server can handle requests and compile catalogs for up to 2,000 agent nodes. In large and extra-large PE installations, dedicated compiler nodes help accelerate catalog compilation. |
Install PE using the guided process
For an interactive experience, use the guided installation process. Based on information you provide about your environment and requirements, PIM automatically configures your PE installation.
- Ensure that you have the required access to the nodes where you want to install
PE infrastructure.
- To install the primary server locally on the machine where PIM is running, you must log in as the root user.
- To install PE components on remote nodes, the machine running PIM must have SSH access to the target nodes, and the user executing the installation must have superuser privileges for those nodes.
- Ensure that Puppet is not already installed on any of the nodes where you want to install PE infrastructure.
- Check system requirements:
Install PE with your defined parameters
If you know which PE infrastructure components you want to install and you do not require guidance, you can specify your installation parameters in a JSON file. Then use PIM to start the installation by running a single command.
- Ensure that you have the required access to the nodes where you want to install
PE infrastructure.
- To install the primary server locally on the machine where PIM is running, you must log in as the root user.
- To install PE components on remote nodes, the machine running PIM must
have SSH access to the target nodes, and the user executing the
installation must have superuser privileges for those nodes. You can
configure SSH, or use the
-b
flag to pass the SSH key or SSH credentials when you run the installation command.
- Ensure that Puppet is not already installed on any of the nodes where you want to install PE infrastructure.
- Check system requirements:
Creating an installation parameters file
To install PE from the Puppet Installation Manager
(PIM) command line, you must create a JSON file containing your installation parameters and
pass that file with the install
command. The JSON file
defines your installation architecture, including the option for disaster
recovery.
Installation configuration examples
The following examples illustrate how to structure the JSON file for different PE configurations.
- Installation parameters for an extra-large architecture with disaster recovery
-
{ "primary_host": "pe-xl-core-0.lab1.puppet.vm", "primary_postgresql_host": "pe-xl-core-1.lab1.puppet.vm", "replica_host": "pe-xl-core-2.lab1.puppet.vm", "replica_postgresql_host": "pe-xl-core-3.lab1.puppet.vm", "compiler_hosts": [ "pe-xl-compiler-0.lab1.puppet.vm", "pe-xl-compiler-1.lab1.puppet.vm" ], "console_password": "puppetlabs", "dns_alt_names": ["puppet", "puppet.lab1.puppet.vm"], "version": "2023.6.0" }
- Installation parameters for an extra-large architecture without disaster recovery
-
{ "primary_host": "pe-xl-core-0.lab1.puppet.vm", "primary_postgresql_host": "pe-xl-core-1.lab1.puppet.vm", "compiler_hosts": [ "pe-xl-compiler-0.lab1.puppet.vm", "pe-xl-compiler-1.lab1.puppet.vm" ], "console_password": "puppetlabs", "dns_alt_names": ["puppet", "puppet.lab1.puppet.vm"], "version": "2023.6.0" }
- Installation parameters for a large architecture with disaster recovery
-
{ "primary_host": "pe-l-core-0.lab1.puppet.vm", "replica_host": "pe-l-core-2.lab1.puppet.vm", "compiler_hosts": [ "pe-l-compiler-0.lab1.puppet.vm", "pe-l-compiler-1.lab1.puppet.vm" ], "console_password": "puppetlabs", "dns_alt_names": ["puppet", "puppet.lab1.puppet.vm"], "version": "2023.6.0" }
- Installation parameters for a large architecture without disaster recovery
-
{ "primary_host": "pe-l-core-0.lab1.puppet.vm", "compiler_hosts": [ "pe-l-compiler-0.lab1.puppet.vm", "pe-l-compiler-1.lab1.puppet.vm" ], "console_password": "puppetlabs", "dns_alt_names": ["puppet", "puppet.lab1.puppet.vm"], "version": "2023.6.0" }
- Installation parameters for a standard architecture with disaster recovery
-
{ "primary_host": "pe-core-0.lab1.puppet.vm", "replica_host": "pe-core-2.lab1.puppet.vm", "console_password": "puppetlabs", "dns_alt_names": ["puppet", "puppet.lab1.puppet.vm"], "version": "2023.6.0" }
- Installation parameters for a standard architecture without disaster recovery
-
{ "primary_host": "pe-core-0.lab1.puppet.vm", "console_password": "puppetlabs", "dns_alt_names": ["puppet", "puppet.lab1.puppet.vm"], "version": "2023.6.0" }