我正在使用Puppet来配置服务器,我想在*.erb模板中打印当前机器(节点)的名称。虽然有一个hostname变量,但是它保存的是puppetmaster的主机名。是否有关于此主题的好参考/列表?
看起来我在某个地方看错了。我可以在*.erb模板中调用以下代码来获取(打印)node-hostname:
<%= @hostname %>
编辑:从 Puppet 3 开始,使用本地变量(例如 hostname
)已被弃用;Puppet 4 将完全取消对它们的支持。推荐的方法是使用实例变量(以 @
为前缀)。因此,在这种情况下,使用 @hostname
。 来源
在终端中输入以下命令将返回erb文件中可用的变量:
facter --puppet
以上所有内容都是正确的;根据您的需要,您还可以找到fqdn
变量有用。
如果您确实需要在模板中使用puppet主服务器的信息,则可以使用变量servername
、serverip
和serverversion
(来自Puppet文档)。
<%= fqdn %>
获取 DNS 反向名称。
如果需要将其转换为小写,使用
<%= fqdn.downcase %>
需要注意的是,这里提到的是主机名而不是节点名称(你最初所询问的)。在99%的情况下,它们将是相同的。据我所知,在模板中没有获取实际节点名称的方法(如果有的话,我很想听听)。