Puppet 的问题:配置 WAN 接口,过程中重新加载网络导致代理运行中断

Puppet 的问题:配置 WAN 接口,过程中重新加载网络导致代理运行中断

一点背景知识:我想使用 puppet 在使用 kickstart 安装 RHEL6 服务器后对其进行全面配置,kickstart 本身是全自动的,并在启动后提供启用 dhcp 的服务器,自动检测其主机名,然后使用 --certname "$(hostname -s)" 启动 puppet 的代理

用例:puppet 的清单步骤之一是配置网络接口,其中一个是将服务器连接到 puppetmaster 的接口。启动时,服务器从 172.20.0.0/24(例如 172.20.0.95)获取 ip,其中 172.20.0.1 是 DNS 转发器和网关,并在 FOO.intranet.com 提供对 puppetmaster 的访问。

问题:一旦 puppet 重新配置了 eth0 接口和 resolv.conf,一切都会正常,直到 puppet 代理想要从 puppet:///files/* 下载文件,旧的 dns 服务器不再可访问,它似乎试图查询此服务器以获取当前的 puppetmaster 域,导致 libc 的“getaddrinfo:名称或服务未知。”。如果我终止代理并再次生成它,一切都会按计划进行。

问题:有没有办法告诉 Puppet 代理在进行某些更改后“重新加载”?比如如果 /etc/puppet/puppet.conf 或网络接口或任何其他内容发生更改,是否需要重新加载?否则,我需要确保在启动 Puppet 代理之前主 NIC 已按要求配置,这有点棘手。

答案1

将 puppet 服务配置为资源,并在网络配置更改时通知它(导致服务重新启动)。当前 puppet 运行仍将失败,但下次运行时它应该可以正常工作。

或者,除了 kickstart 期间所需的名称服务器之外,您还可以尝试让 kickstart 过程也定义新的名称服务器。

相关内容