- Puppet 教程
- Puppet - 首页
- Puppet 基础
- Puppet - 概述
- Puppet - 架构
- Puppet - 安装
- Puppet - 配置
- Puppet - 环境配置
- Puppet - Master
- Puppet - Agent 设置
- Puppet - SSL 证书设置
- r10K 的安装和配置
- Puppet - 验证设置
- Puppet - 编码风格
- Puppet - 清单文件
- Puppet - 模块
- Puppet - 文件服务器
- Puppet - Facter 和 Fact
- 高级 Puppet
- Puppet - 资源
- Puppet - 资源抽象层
- Puppet - 模板
- Puppet - 类
- Puppet - 函数
- Puppet - 自定义函数
- Puppet - 环境
- Puppet - 类型和提供程序
- Puppet - RESTful API
- Puppet - 实时项目
- Puppet 有用资源
- Puppet - 快速指南
- Puppet - 有用资源
- Puppet - 讨论
Puppet - 配置
在系统上安装 Puppet 后,下一步是将其配置为执行某些初始操作。
打开机器上的防火墙端口
为了让 Puppet 服务器集中管理客户端服务器,需要在所有机器上打开指定的端口,例如,如果8140端口在任何尝试配置的机器上未使用,则可以使用该端口。我们需要在所有机器上启用 TCP 和 UDP 通信。
配置文件
Puppet 的主要配置文件是etc/puppet/puppet.conf。所有配置文件都在 Puppet 的基于包的配置中创建。配置 Puppet 所需的大部分配置都保存在这些文件中,Puppet 运行后会自动获取这些配置。但是,对于某些特定任务(例如配置 Web 服务器或外部证书颁发机构 (CA)),Puppet 具有单独的配置文件和设置。
服务器配置文件位于conf.d目录中,也称为 Puppet master。这些文件默认位于/etc/puppetlabs/puppetserver/conf.d路径下。这些配置文件采用 HOCON 格式,它保留了 JSON 的基本结构,但更易于阅读。Puppet 启动时,它会获取 conf.d 目录中的所有 .conf 文件,并使用它们进行任何配置更改。这些文件的任何更改只有在服务器重新启动后才会生效。
文件和设置列表
- global.conf
- webserver.conf
- web-routes.conf
- puppetserver.conf
- auth.conf
- master.conf(已弃用)
- ca.conf(已弃用)
Puppet 中有不同的配置文件,这些配置文件特定于 Puppet 中的每个组件。
Puppet.conf
Puppet.conf 文件是 Puppet 的主要配置文件。Puppet 使用相同的配置文件来配置所有必需的 Puppet 命令和服务。所有与 Puppet 相关的设置(例如 Puppet master、Puppet agent、Puppet apply 和证书的定义)都在此文件中定义。Puppet 可以根据需要引用它们。
配置文件类似于标准的 ini 文件,其中设置可以进入主部分的特定应用程序部分。
主配置部分
[main] certname = Test1.vipin.com server = TestingSrv environment = production runinterval = 1h
Puppet Master 配置文件
[main] certname = puppetmaster.vipin.com server = MasterSrv environment = production runinterval = 1h strict_variables = true [master] dns_alt_names = MasterSrv,brcleprod01.vipin.com,puppet,puppet.test.com reports = puppetdb storeconfigs_backend = puppetdb storeconfigs = true environment_timeout = unlimited
详细概述
在 Puppet 配置中,将使用的文件包含多个配置部分,其中每个部分都有不同类型的多个设置。
配置部分
Puppet 配置文件主要包含以下配置部分。
main - 这被称为全局部分,Puppet 中的所有命令和服务都使用它。在 main 部分中定义默认值,这些值可以被 puppet.conf 文件中存在的任何部分覆盖。
master - 此部分由 Puppet master 服务和 Puppet cert 命令引用。
agent - 此部分由 Puppet agent 服务引用。
user - 它主要由 Puppet apply 命令以及许多不太常用的命令使用。
[main] certname = PuppetTestmaster1.example.com
配置文件的关键组件
以下是配置文件的关键组件。
注释行
在 Puppet 中,任何注释行都以 (#) 符号开头。这可能包含任意数量的空格。我们也可以在同一行中包含部分注释。
# This is a comment. Testing = true #this is also a comment in same line
设置行
设置行必须包含:
- 任意数量的前导空格(可选)
- 设置的名称
- 一个等于号 =,它可能被任意数量的空格包围
- 设置的值
设置变量
在大多数情况下,设置的值将是一个单词,但在某些特殊情况下,有一些特殊值。
路径
在配置文件设置中,列出目录列表。定义这些目录时,应记住它们应以系统路径分隔符字符分隔,在 *nix 平台上为 (:),在 Windows 上为分号 (;)。
# *nix version: environmentpath = $codedir/special_environments:$codedir/environments # Windows version: environmentpath = $codedir/environments;C:\ProgramData\PuppetLabs\code\environment
在定义中,首先扫描列出的文件目录,如果找不到文件,则移至列表中的其他目录。
文件和目录
所有接受单个文件或目录的设置都可以接受可选的权限哈希。服务器启动时,Puppet 将强制执行列表中的这些文件或目录。
ssldir = $vardir/ssl {owner = service, mode = 0771}
在上面的代码中,允许的哈希是 owner、group 和 mode。owner 和 group 键只有两个有效值。