2017-05-07 37 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。 –

相关问题