29

我正在使用 puppet 来配置服务器。我想在 *.erb 模板中打印当前机器(节点)名称。有主机名变量,但这包含 puppetmaster 主机名。关于这个主题有什么好的参考/列表吗?

4

5 回答 5

37

好像我错过了某个地方。我可以通过在 *.erb 模板中调用以下代码来获取(打印)节点主机名:

<%= @hostname %>

编辑:从 Puppet 3 开始,使用局部变量(即已hostname弃用;Puppet 4 将完全删除对它们的支持。推荐的方法是使用实​​例变量(前缀为@. 所以在这种情况下,@hostname. Source

于 2010-12-13T11:53:05.343 回答
32

在终端中输入以下命令将返回 erb 文件中可用的变量:

facter --puppet
于 2010-12-21T09:07:28.563 回答
6

以上都是肯定的;您可能还会发现该fqdn变量很有用,具体取决于您在做什么。

如果您确实发现自己需要模板中的 puppet 主服务器信息,您可以使用变量servernameserveripserverversion来自 Puppet 文档)。

于 2011-02-08T18:24:47.967 回答
4

显然你现在可以使用

<%= fqdn %> 

并获取 DNS 反向名称。

如果需要小写,请使用

<%= fqdn.downcase %>
于 2014-10-03T18:53:11.163 回答
2

但请注意,这是主机名而不是节点名(您最初要求的)。在 99% 的情况下,这些都是相同的。AFAIK 没有办法在模板中获取实际的节点名称(如果有,我很想听听)。

于 2011-03-29T17:26:49.513 回答