2010-12-13 103 views
24

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

回答

28

好像我错过了什么地方。

<%= @hostname %> 

编辑:我可以通过调用* .erb模板下面的代码获取(打印)节点主机名只是作为木偶3,采用局部变量(即hostname已过时;木偶4将消除对他们的支持。完全推荐的方法是使用实​​例变量(前缀为@因此,在这种情况下,@hostnameSource

+0

一模一样啊,我真的很困惑,因为在我的情况下为“FQDN”我得到的(全名,如“myhost.acnemcom”),而“主机名”我得到短版本(命令hostname -s返回的版本),如“myhost”。在任何情况下我都没有得到傀儡主持人。 – PierluigiVernetto 2014-09-12 16:48:08

23

输入以下命令到您的终端将返回可用的变量在您的ERB文件:。

facter --puppet 
+1

太棒了!这有很大帮助。 – 2010-12-23 13:00:16

+1

是的!这是一个有用的知识。 – JCotton 2012-01-17 01:35:40

+1

这个答案显示我不想'主机名',而是'fqdn'而不是我的应用程序。 – 2014-01-16 10:51:21

6

以上都是,您也可能会发现fqdn变量很有用,具体取决于您的操作。

如果你发现自己需要在模板中的傀儡主服务器的信息,您可以使用变量servernameserveripserverversionFrom the FAQ)。

2

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

4

显然,你现在可以使用

<%= fqdn %> 

,并获得DNS反向名称。

如果需要小写,请使用

<%= fqdn.downcase %>