我似乎在理解如何使其工作时遇到了一些问题。我有一台正在工作的办公室 NAT 后面正在建造的新服务器,它的反向 dns 映射到office.mydomain.com
,但我希望这台机器是ns2.mydomain.com
为了傀儡。
node.pp 片段:
node 'ns2.mydomain.com' inherits basenode {
info('ns2.mydomain.com')
}
node 'office.mydomain.com' inherits basenode {
info('office.mydomain.com')
}
Run Code Online (Sandbox Code Playgroud)
我在客户端上的“puppet.conf”:
[main]
#was node_name=ns2.mydomain.com
#was fqdn=ns2.mydomain.com
certname=ns2.mydomain.com
node_name=cert
Run Code Online (Sandbox Code Playgroud)
我在服务器上的系统日志报告:
Sep 16 22:59:12 support puppetmasterd[2800]: Host is missing hostname and/or domain: office.mydomain.com
Sep 16 22:59:12 support puppetmasterd[2800]: (Scope(Node[office.mydomain.com])) office.mydomain.com
Sep 16 22:59:12 support puppetmasterd[2800]: Compiled catalog for office.mydomain.com in 0.03 seconds
Sep 16 22:59:12 support puppetmasterd[2800]: Caching catalog for ns2.mydomain.com
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它在ns2.mydomain.com
不做这样的事情的情况下获取配置:
node 'ns2.mydomain.com' inherits basenode {
info('ns2.mydomain.com')
}
node 'office.mydomain.com' inherits 'ns2.mydomain.com' {
info('office.mydomain.com')
}
Run Code Online (Sandbox Code Playgroud)
更新:这个问题似乎也导致了其他问题。例如,如果我info("$fqdn")
当机器坐在后面时office.mydomain.com
fqdn 事实是空的,以及$operatingsystem
. 它几乎就像没有正确发现事实一样。可能是 NAT 问题?是否有任何建议可以追踪导致此问题的原因?
wom*_*ble 26
Aaah,Puppet 主机名检测。什么样的恶梦...
默认情况下,将使用什么名称来查找node
要使用的定义是基于 fqdn 事实的内容。什么是真正映射到依赖于一些不同的东西,是的,反向DNS就是其中之一-这是优于机器的自己的主机名!
但是,此名称(通常)仅适用于证书生成时。您实际上是在滥用node_name
变量——它应该设置为“cert”或“factor”之一。该fqdn
参数也已弃用。
您真正想要做的是将certname
客户端上的参数设置为您要使用的节点名称,然后设置node_name
为cert
(或将其省略,因为这cert
是默认值)。这将从客户端提供的证书的 CN 中获取节点名称,并且该certname
参数确保将其设置为合理的值,而不是任何因素决定自行提出的。不幸的是,由于您已经创建了“错误”的证书,因此您需要rm -rf /var/lib/puppet/ssl
在设置配置后重新生成这些证书(在客户端上并重新运行 Puppet),以便创建和使用正确的证书。
如果这一切听起来有点复杂,那么您是对的 - 确实如此。欢迎来到木偶。
我似乎很幸运(虽然还有一些我想看的测试用例)在编辑时/etc/hosts
将 127.0.0.1 下的所需 fqdn 作为第一个选项列出。它似乎正在正确检测它/然后传递事实。虽然看起来我仍然需要创建一个名为office.mydomain.com
继承我想要的节点的节点。
归档时间: |
|
查看次数: |
14082 次 |
最近记录: |