Puppet 服务器

出自 ArchWiki

安装

要安装 Puppet 服务器,首先添加上游 GPG 密钥

$ gpg --fetch-keys https://yum.puppetlabs.com/RPM-GPG-KEY-puppet-20250406

然后安装 puppetserverAUR 软件包。之后,启用启动 puppetserver 服务。

配置

Puppet 服务器的配置文件存储在 /etc/puppetlabs/puppetserver/

.
|-- conf.d
|   |-- auth.conf
|   |-- global.conf
|   |-- puppetserver.conf
|   |-- web-routes.conf
|   `-- webserver.conf
|-- logback.xml
|-- request-logging.xml
`-- services.d
    `-- ca.cfg

在 conf.d 中有

  • auth.conf,允许您配置哪些 Puppet 节点(客户端)可以从服务器请求。
  • global.conf 默认情况下仅包含日志配置文件的路径。
  • puppetserver.conf 是服务器的主要配置文件,它允许您设置 JRuby 加载路径、JRuby gem 根路径、puppet master-conf-dir、master-code-dir、master-var-dir、master-run-dir、master-log-dir,以及最重要的 max-active-instances。它还有一个部分用于调整 http-client 允许的协议,您可以在其中启用或禁用各种 SSL 密码套件和协议。
  • web-routes.conf 允许您配置 Puppet 服务器的 Web 路由。
  • webserver.conf 允许您设置 Puppet 服务器 Web 界面的监听地址、端口、身份验证类型和日志文件路径。

此外,还有 /etc/default/puppetserver 配置文件,允许您调整 Java 虚拟机的启动设置,设置服务器运行的用户和组,Puppet 服务器文件的路径以及配置路径。

调整服务器以降低内存使用量

默认情况下,Puppet 服务器为其自身分配 2 GB 的 RAM,这可以在 /etc/default/puppetserver 中通过编辑 JAVA_ARGS 进行调整。

默认情况下是

-Xms2g -Xmx2g -XX:MaxPermSize=256m

但是,如果您使用的服务器没有足够的可用 RAM,您可以将其设置为低至 512 兆字节。但请记住,这仅适用于少量受管服务器,您还需要在 /etc/puppetlabs/puppetserver/puppetserver.conf 中将 puppet 的最大活动实例数更改为 1,这限制了服务器一次能够与之通信的服务器数量。

安装 hiera eyaml 支持

如果您希望在 Puppet 服务器上使用 Hiera eyaml,则应使用以下命令在 Puppet 服务器上安装其 gem

puppetserver gem install hiera-eyaml

然后重启 Puppet 服务器。

访问 Puppet 服务器 Web 界面

Web 界面默认在所有接口上的 https 端口 8140 上监听。可以通过编辑 /etc/puppetlabs/puppetserver/conf.d/webserver.conf 中的 ssl-host 和 ssl-port 配置选项来更改此设置。