如何识别代理运行中使用了哪个 Puppet Master?

如何识别代理运行中使用了哪个 Puppet Master?

我目前正在运行多个负载平衡主服务器,需要调试它们之间的一些差异。

有没有一个好的方法可以在代理报告中包含主机名或其他 Puppet Master 的 ID?(在每个主机上放置略有不同的代码对我来说不是一个选择)

答案1

Puppet Master 将向$servername目录编译中注入变量,这些变量列在Puppet Master 变量

notify { "Compiled on $servername": }您可以通过在一份清单中使用它们,或将其添加到文件模板(例如 MOTD)中,将它们包含在报告中。

另一种机制是更改config_version- 为每个目录编译赋予的唯一名称/编号,通常用于显示正在构建的清单的当前 git/SCM 修订版。默认情况下,它显示当前 Unix 纪元。您可以将其更改为返回纪元和主主机名。

config_version通常根据环境进行设置,例如使用 environment.conf:environment.conf 中的 config_version,并且可以指向部署到每个主服务器的脚本,该脚本输出包含服务器主机名的字符串。

答案2

通过将客户端与 /etc/hosts 中的条目直接绑定到您的某个 puppet master,您可以测试某个 puppet-master。

相关内容