System requirements
Puppet system requirements depend on your deployment type and size. Before installing Puppet, ensure your systems are compatible with infrastructure and agent requirements.
Hardware requirements
The primary server is fairly resource intensive, and must be installed on a robust, dedicated server. The agent service has few system requirements and can run on a less powerful server.
CPUs | GHz | GiB memory | OS |
---|---|---|---|
1 | 2.4 | 0.5 | Amazon Linux 2 AMI |
1 | 2.5 | 1 | Windows Server 2019 |
The demands on the primary server vary widely between deployments. Resource needs are affected by the number of agents being served, how frequently agents check in, how many resources are being managed on each agent, and the complexity of the manifests and modules in use.
Node volume | Cores | Heap |
ReservedCodeCache
|
---|---|---|---|
Dozens | 2 | 1 GB | Not applicable |
1,000 | 2-4 | 4 GB | 512m |
Supported agent platforms
Puppet provides official packages for various operating systems and versions. Although you are not required to use official packages, their use helps to simplify installation and maintenance.
Packaged platforms
puppet-agent
packages are available for the platforms
listed in the table.
For Puppet Server system requirements, see Supported operating systems.
Operating system | Tested versions | Untested versions |
---|---|---|
Debian | 10, 11, 11 (aarch64), 12, 12 (aarch64, x86_64) | |
Fedora | 36 (x86_64), 40 (x86_64) | |
macOS | 11 Big Sur (x86_64), 12 Monterey (x86_64), 12 (M1), 13 Ventura (x86_64, ARM), 14 (x86_64, ARM) | |
Microsoft Windows | 10 Enterprise, 11 Enterprise (x86_64) | 8, 10 |
Microsoft Windows Server | 2012R2, 2016, 2019, 2022 | 2012 |
Red Hat Enterprise Linux, including:
|
7 (x86_64), 8 (x86_64, aarch64, ppc64le), 9 (x86_64, ARM64, ppc64le) | |
Amazon Linux | 2 (AARCH64), 2023 (x86_64, AARCH64) | |
SUSE Linux Enterprise Server | 12 (x86_64), 15 (x86_64) | |
AlmaLinux | 8 (x86_64), 9 (x86_64, AARCH64) | |
Rocky Linux | 8 (x86_64), 9 (x86_64, AARCH64) | |
Oracle Linux | 7 (x86_64), 8 (x86_64), 8 (aarch64), 8 (ppc64le) | |
Scientific Linux | 7 (x86_64), 8 (x86_64, aarch64, ppc64le) | |
Ubuntu | 18.04, 18.04 (AARCH), 20.04, 20.04 (aarch64), 22.04 (x86_64, aarch64), 24.04 (x86_64, ARM) |
Dependencies
- Ruby 3.1 or later
- Facter 2.0 or later
- Optional gems such
hiera-eyaml
,hocon
,msgpack
,ruby-shadow
, and so on.
Timekeeping and name resolution
Before you install Puppet, prepare to meet the network requirements. The most important requirements include syncing time and creating a plan for name resolution.
Timekeeping
Use NTP or an equivalent service to ensure that time is in sync between your primary server, which acts as the certificate authority, and any agent nodes. If time drifts out of sync in your infrastructure, you might encounter issues such as agents receiving outdated certificates. A service like NTP (available as a supported module) helps to ensure accurate timekeeping.
Name resolution
Decide on a preferred name or set of names that agent nodes can use to contact the primary server. Ensure that the primary server can be reached by domain name lookup by all future agent nodes.
You can
simplify configuration of agent nodes by using a CNAME record to make the primary server
reachable at the hostname puppet
, which is the default primary server
hostname that is suggested when installing an agent node.
Firewall configuration
In the agent-server architecture, your primary server must support incoming connections on port 8140, and agent nodes must be able to connect to the primary server on that port.