第 1 章 使用 Puppet 引入配置管理


您可以使用 Puppet 管理和自动化主机配置。Puppet 使用声明性语言来描述 所需的 主机状态。

Puppet 提高了您的生产力,因为您可以同时管理多个主机。同时,它会减少您的配置工作,因为 Puppet 可以轻松地验证并更正主机的状态。

其他资源

1.1. Puppet 如何与 Satellite 集成

Puppet 使用 server-agent 架构。Puppet 服务器是存储配置定义的中央组件。Satellite 服务器或任何胶囊通常通过 Puppet 服务器部署,Satellite 充当此类 Puppet 服务器的 外部节点分类器(ENC)。主机运行与 Puppet 服务器通信的 Puppet 代理。

Puppet 代理收集有关 主机的事实,并在每次运行时将它们报告到 Puppet 服务器。您可以通过在主机上运行 puppet 事实 来显示 JSON 格式的 Puppet 事实

Puppet 服务器 将事实 转发到 Satellite,再存储它们供以后使用。根据 事实 和其他定义,Satellite 构造对 Puppet 服务器的 ENC 回答。Puppet 服务器根据 ENC 回答编译 目录,并将 目录 发送到 Puppet 代理。

Puppet 代理评估主机上的系统状态。如果 Puppet 代理发现目录中定义 的所需状态 与实际状态之间的差别(称为 drifts ),它会强制更正主机的状态。然后,Puppet 代理将结果报告回 Puppet 服务器,后者将它们报告给 Satellite。

Puppet 模块

主机 所需状态目录 中定义目录 从分配给主机的一个或多个 Puppet 模块的 Puppet 清单编译。Puppet 模块是类、清单、资源、文件和模板的集合。Puppet 模块充当主机配置定义的组件。

智能类参数

如果模块支持使用参数,您可以使用 Smart Class 参数覆盖 Puppet 模块的参数。您可以将 Satellite 中的参数定义为 键值对,这的行为与主机参数或 Ansible 变量类似。

Puppet 环境

您还可以创建多个 Puppet 环境来控制配置定义版本或管理定义变体,并在将定义部署到生产之前测试它们。

高级集成步骤

Puppet 与 Satellite 集成涉及以下高级别步骤:

  1. 启用 Puppet 集成
  2. 将 Puppet 代理软件包导入到卫星中。Puppet 代理软件包可以像使用 Satellite 的任何其他内容一样进行管理,方法是 启用红帽存储库 并使用 激活密钥内容视图
  3. 在调配注册手动或通过 远程作业执行的主机上安装 Puppet 代理。

其他资源

以下流程描述了如何使用 Puppet 模块安装、配置和管理 ntp 服务以提供示例。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat