2010-12-13 145 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 %>