人偶 – 配置

人偶 – 配置


一旦我们在系统上安装了 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 目录中提取所有 .cong 文件并使用它们进行任何配置更改。这些文件中的任何更改仅在服务器重新启动时发生。

列表文件和设置文件

  • 全局配置文件
  • 网络服务器配置文件
  • web-routes.conf
  • puppetserver.conf
  • 配置文件
  • master.conf(已弃用)
  • ca.conf(已弃用)

Puppet 中有不同的配置文件,这些文件特定于 Puppet 中的每个组件。

人偶配置文件

Puppet.conf 文件是 Puppet 的主要配置文件。Puppet 使用相同的配置文件来配置所有必需的 Puppet 命令和服务。所有与 Puppet 相关的设置,如 Puppet master、Puppet 代理、Puppet 应用和证书的定义都在这个文件中定义。Puppet 可以根据需要引用它们。

配置文件类似于标准的 ini 文件,其中设置可以进入主部分的特定应用程序部分。

主要配置部分

[main] 
certname = Test1.vipin.com 
server = TestingSrv 
environment = production 
runinterval = 1h 

Puppet 主配置文件

[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 中的所有命令和服务使用。一个定义主要部分中的默认值,可以被 puppet.conf 文件中的任何部分覆盖。

  • Master – 此部分由 Puppet 主服务和 Puppet cert 命令引用。

  • Agent – 此部分由 Puppet 代理服务引用。

  • 用户– 它主要由 Puppet apply 命令以及许多不太常见的命令使用。

[main] 
certname = PuppetTestmaster1.example.com 

配置文件的关键组件

以下是配置文件的关键组件。

评论行

在 Puppet 中,任何注释行都以 ( # ) 符号开头这可能意味着任何空间量。我们也可以在同一行中添加部分注释。

# This is a comment. 
Testing = true #this is also a comment in same line 

设置行

设置行必须包括 –

  • 任意数量的前导空间(可选)
  • 设置名称
  • 一个等于 = 符号,可以被任意数量的空格包围
  • 设置值

设置变量

在大多数情况下,settings 的值将是一个单词,但在某些特殊情况下,很少有特殊值。

路径

在配置文件设置中,获取目录列表。在定义这些目录时,应该记住它们应该由系统路径分隔符分隔,在 *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} 

在上面的代码中,允许的哈希是所有者、组和模式。所有者和组密钥只有两个有效值。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁