第 1 章 使用 Puppet 进行配置管理简介

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

Puppet 会增加您的工作效率,因为您可以同时管理多个主机。同时,它会减小您的配置工作,因为 Puppet 可以轻松地验证并可能更正主机的状态。

其他资源

1.1. Puppet 如何与 Satellite 集成

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

Puppet 代理收集某一 主机的事实,并在每次运行时将其报告给 Puppet 服务器。您可以通过在主机上运行 puppet 事实,以 JSON 格式显示 Puppet 事实

Puppet 服务器 将事实 转发到卫星,并且存储它们以备后用。根据 事实 和其他定义,卫星将 ENC 应答构建到 Puppet 服务器。Puppet 服务器根据 ENC 回答编译 目录,并将 目录 发送到 Puppet 代理。

Puppet 代理评估主机上的系统状态。如果 Puppet 代理发现差异,在目录中定义 的所需状态和实际状态 之间称为 drifts,则会对主机的状态执行更正。Puppet 代理将结果报告回 Puppet 服务器,后者将其报告到卫星。

Puppet 模块

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

智能类参数

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

Puppet 环境

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

高级集成步骤

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

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

其他资源

下列步骤概述了如何使用 Puppet 模块安装、配置和管理 ntp 服务来提供示例。