📅  最后修改于: 2020-10-31 16:48:53             🧑  作者: Mango
一旦我们在系统上安装了Puppet,下一步就是将其配置为执行某些初始操作。
为了使Puppet服务器集中管理客户端服务器,需要在所有机器上打开一个指定的端口,即,如果我们尝试配置的任何机器中都没有使用8140,则可以使用它。我们需要在所有机器上同时启用TCP和UDP通信。
Puppet的主要配置文件是etc / puppet / puppet.conf 。所有配置文件都是在Puppet的基于程序包的配置中创建的。配置Puppet所需的大多数配置都保存在这些文件中,一旦Puppet运行,它将自动获取这些配置。但是,对于某些特定任务,例如配置Web服务器或外部证书颁发机构(CA),Puppet具有单独的文件和设置配置。
服务器配置文件位于conf.d目录中,该目录也称为Puppet主目录。这些文件默认位于/etc/puppetlabs/puppetserver/conf.d路径下。这些配置文件采用HOCON格式,保留了JSON的基本结构,但更具可读性。当Puppet启动时,它将从conf.d目录中拾取所有.cong文件,并将其用于进行任何配置更改。这些文件中的任何更改仅在重新启动服务器时发生。
Puppet中有不同的配置文件,这些配置文件特定于Puppet中的每个组件。
Puppet.conf文件是Puppet的主要配置文件。 Puppet使用相同的配置文件来配置所有必需的Puppet命令和服务。此文件中定义了所有与Puppet相关的设置,例如Puppet主服务器,Puppet代理,Puppet应用和证书的定义。木偶可以根据要求引用它们。
配置文件类似于标准的ini文件,其中的设置可以进入主要部分的特定应用程序部分。
[main]
certname = Test1.vipin.com
server = TestingSrv
environment = production
runinterval = 1h
[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配置中,将要使用的文件具有多个配置节,其中每个节具有多种不同数量的设置。
人偶配置文件主要包含以下配置部分。
[main]
certname = PuppetTestmaster1.example.com
以下是Config文件的关键组件。
在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}
在上面的代码中,允许的哈希是所有者,组和模式。所有者和组密钥只有两个有效值。