2017-05-07 55 views
2

我試圖puppetize亞馬遜EC2主機。我第一次確信木偶的SSL目錄是空的:木偶只看到內部的DNS名稱,而不是主機名

[[email protected]:~] #ls -lh /var/lib/puppet/ssl/ 
total 0 

安裝我的主機名/ etc/hosts中

[[email protected]:~] #cat /etc/hosts 
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 
10.0.2.101 web3.company.com web3 

一聲服務器我想要的主機名和驗證它:

[[email protected]:~] #hostname web3 
[[email protected]:~] #hostname 
web3 
[[email protected]:~] #hostname -f 
web3.company.com 

然而,當我運行puppet命令向puppet服務器註冊它時,它仍然會提供內部ec2 ip地址,而不是我試圖給它的主機名:

[[email protected]:~] #puppet agent --test --waitforcert 60 --server puppet.company.com 
Info: Creating a new SSL key for ip-10-0-2-101.ec2.internal 
Info: Caching certificate for ca 
Info: Caching certificate_request for ip-10-0-2-101.ec2.internal 
Info: Caching certificate for ca 

我在這裏錯過了什麼?如何讓puppet查看我想要的主機名而不是Amazon提供的內部IP DNS?

回答

2

您可以在木偶指定certname的文檔配置文件:https://docs.puppet.com/puppet/4.10/config_file_main.html

例如,在您的EC2節點上,您可以使用以下ini格式設置的puppet.conf

[main] 
certname = web3.company.com 

,這將指定你的願望,只要你不是在[master]部分覆蓋它的證書名稱..

+0

謝謝,就是這樣。在運行puppet命令註冊主機之前,我忘記了在此主機上運行pupppet.conf。 – bluethundr

+0

@bluethundr你不小心改變了接受的答案FYI。 –

相關問題