此内容没有您所选择的语言版本。
Chapter 1. Configuration management with Puppet in Satellite
Puppet is a configuration management tool to automate configurations of hosts across your infrastructure. In a Satellite environment, you can use Puppet configuration management features for consistent management of Satellite hosts. For more information about Puppet, see Open Source Puppet documentation and Puppet Forge.
1.1. How Puppet integrates with Satellite 复制链接链接已复制到粘贴板!
As a configuration management tool, Puppet uses a server-agent architecture. Satellite components integrate with Puppet architecture to provide configuration management capabilities in Satellite.
- Puppet server and Puppet agent
The Puppet server is the central component that stores configuration definitions. Satellite Server or Capsule Servers are typically deployed with the Puppet server. Satellite acts as an External Node Classifier (ENC) for such Puppet server. Hosts run the Puppet agent that communicates with the Puppet server.
The Puppet agent collects facts about a host and reports them to the Puppet server on each run. You can display the Puppet facts in JSON format by running
puppet factson a host.The Puppet server forwards facts to Satellite and Satellite stores them for later use. Based on the facts and other definitions, Satellite constructs the ENC answer to the Puppet server. The Puppet server compiles a catalog based on the ENC answer and sends the catalog to the Puppet agent.
The Puppet agent evaluates the system state on the host. If the Puppet agent finds differences, known as drifts, between the desired state defined in the catalog and the actual state, it enforces correction of the state of the host. The Puppet agent then reports correction results back to the Puppet server, which reports them to Satellite.
- Puppet modules
- The desired state of a host is defined in a catalog. The catalog is compiled from Puppet manifests of one or more Puppet modules assigned to the host. A Puppet module is a collection of classes, manifests, resources, files, and templates. The Puppet modules work as components of host configuration definitions.
- Smart Class parameters
- You can override parameters of a Puppet module by using Smart Class parameters if the module supports the use of parameters. You can define the parameters in your Satellite as key-value pairs, which behave similar to host parameters or Ansible variables.
- Puppet environments
- You can also create multiple Puppet environments to control versions of configuration definitions or to manage variants of the definitions, and to test the definitions before you deploy them on production.
To integrate Puppet with Satellite, you need to enable integration, import agent packages, and install the agent on hosts.
Puppet integration with Satellite involves the following high-level steps:
- Enable Puppet integration.
- Import Puppet agent packages into Satellite. Puppet agent packages can be managed like any other content with Satellite by enabling Red Hat repositories and by using activation keys and content views.
Install Puppet agent on hosts by using one of the following options:
After you deploy Puppet agent on a host, use Satellite to manage Puppet modules, import classes, set parameter overrides, and assign classes to hosts so configuration is applied automatically or on demand.
Configuration management with Puppet involves the following high-level steps:
- Managing Puppet modules on the Puppet server, that is installing and updating them.
- Importing Puppet classes and environments from Puppet modules into Satellite.
- Optional: Creating config groups from Puppet classes.
- Configuring overrides of Smart Class parameters on various levels.
- Assigning Puppet classes or config groups to host groups or individual hosts.
- Configuring intervals for runs of the Puppet agent on hosts and for configuration enforcement runs of the Puppet server.
- Monitoring configuration management using reports in the Satellite web UI. For more information, see Monitoring Satellite resources in Administering Red Hat Satellite.
- Configuring email notifications. For more information, see Configuring Email Notification Preferences in Administering Red Hat Satellite.
After assigning Puppet classes or config groups, Satellite runs configuration management automatically in the configured intervals to enforce Puppet configuration on your hosts, or you can initiate it manually on demand with the Run Puppet Once feature. For more information, see Section 11.1, “Running Puppet once using SSH”.
1.4. Supported Puppet versions and system requirements 复制链接链接已复制到粘贴板!
Before you begin with the Puppet integration, review the supported Puppet versions and system requirements.
- Supported Puppet Versions
Satellite supports Puppet server 8. Ensure that the Puppet modules used to configure your hosts are compatible with your Puppet version.
On hosts, you can use Puppet agent 7.
- System Requirements
- Before you begin integrating Puppet with your Satellite, ensure that you meet the system requirements. For more information, see System Requirements for Puppet 7 in the Open Source Puppet documentation.