【问题标题】:puppet only sees internal dns name instead of hostnamepuppet 只看到内部 dns 名称而不是主机名
【发布时间】:2017-05-08 10:09:11
【问题描述】:

我正在尝试木偶化亚马逊 EC2 主机。我首先确保 puppet ssl 目录是空的:

[root@web3:~] #ls -lh /var/lib/puppet/ssl/
total 0

在 /etc/hosts 中设置我的主机名

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

给服务器我想要的主机名并验证它:

[root@web3:~] #hostname web3
[root@web3:~] #hostname
web3
[root@web3:~] #hostname -f
web3.company.com

然而,当我运行 puppet 命令将其注册到 puppet 服务器时,它仍然会提供内部 ec2 ip 地址,而不是我尝试提供的主机名:

[root@web3:~] #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 看到我想要的主机名,而不是亚马逊提供的内部 IP dns?

【问题讨论】:

    标签: puppet


    【解决方案1】:

    可以在Puppet配置文件中指定certname:https://docs.puppet.com/puppet/4.10/config_file_main.html

    例如,在您的 EC2 节点上,您可以有一个 puppet.conf 并具有以下 ini 格式设置:

    [main]
    certname = web3.company.com
    

    这将指定您想要的证书名称,只要您不在[master] 部分中覆盖它..

    【讨论】:

    • @bluethundr 您不小心更改了已接受的答案,仅供参考。
    【解决方案2】:

    我认为这些是您正在寻找的文档http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-hostname.html

    免责声明 没用过puppet也不知道具体是干什么的

    【讨论】:

    • 我必须 rm /etc/puppet.conf 文件或将 certname 值更改为服务器的名称。
    猜你喜欢
    • 1970-01-01
    • 2013-09-15
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    相关资源
    最近更新 更多