splenetic Asked: 2016-07-13 00:53:46 +0800 CST2016-07-13 00:53:46 +0800 CST 2016-07-13 00:53:46 +0800 CST 如何识别代理运行中使用了哪个 Puppet Master? 772 我目前正在运行多个负载平衡的主机,需要调试它们之间的一些差异。 有没有一种好方法可以在代理报告中包含 puppet master 的主机名或其他 ID?(在每个主服务器上放置稍微不同的代码对我来说不是一个选择) puppet puppetmaster 2 个回答 Voted Best Answer Dominic Cleal 2016-07-13T01:41:29+08:002016-07-13T01:41:29+08:00 Puppet master 会将变量注入到目录编译中,这些变量在Puppet master variables$servername中列出。 notify { "Compiled on $servername": }您可以通过在您的清单之一中使用或将其添加到文件模板(例如 MOTD)来将这些包含在报告中。 另一种机制是更改config_version- 为每个目录编译提供的唯一名称/编号,通常用于显示正在构建的清单的当前 git/SCM 版本。默认情况下,它显示当前的 Unix 纪元。您可以更改它以返回纪元和主主机名。 config_version通常是按环境设置的,例如使用 environment.conf: config_version in environment.conf,并且可以指向您部署到每个主服务器的脚本,并输出一个包含服务器主机名的字符串。 Mrk 2016-07-13T01:00:36+08:002016-07-13T01:00:36+08:00 通过将您的客户端与 /etc/hosts 中的条目直接绑定到您的一个 puppet master,您可以测试某个 puppet-master。
Puppet master 会将变量注入到目录编译中,这些变量在Puppet master variables
$servername
中列出。notify { "Compiled on $servername": }
您可以通过在您的清单之一中使用或将其添加到文件模板(例如 MOTD)来将这些包含在报告中。另一种机制是更改
config_version
- 为每个目录编译提供的唯一名称/编号,通常用于显示正在构建的清单的当前 git/SCM 版本。默认情况下,它显示当前的 Unix 纪元。您可以更改它以返回纪元和主主机名。config_version
通常是按环境设置的,例如使用 environment.conf: config_version in environment.conf,并且可以指向您部署到每个主服务器的脚本,并输出一个包含服务器主机名的字符串。通过将您的客户端与 /etc/hosts 中的条目直接绑定到您的一个 puppet master,您可以测试某个 puppet-master。