![Cobbler 和 puppet 有多个客户端--最佳设置吗?](https://linux22.com/image/648619/Cobbler%20%E5%92%8C%20puppet%20%E6%9C%89%E5%A4%9A%E4%B8%AA%E5%AE%A2%E6%88%B7%E7%AB%AF--%E6%9C%80%E4%BD%B3%E8%AE%BE%E7%BD%AE%E5%90%97%EF%BC%9F.png)
我已经设置了 cobbler 和 puppet,它们运行良好(相当好)。我仍处于测试阶段,因此所有测试都在单个客户端服务器上执行。然而,在实际环境中,此 cobbler+puppet 设置将针对多个客户端运行。使用当前设置(假设我有 10 个客户端),我必须获取所有客户端的 MAC 地址才能使 cobbler 正常工作。
我的问题:
是否可以在不提供客户端的 mac 地址的情况下运行 cobbler?我尝试过省略主机节,但失败了。但是,如果有办法在 cobbler 中排除 mac 地址,那么我将不得不为所有客户端创建单独的 cobbler 配置文件,以便每个客户端都能获得一个唯一的主机名,以便进行 puppet 证书握手。问题是,我无法确定哪个主机名将获得哪个 IP,因此这对我来说在 DNS 中添加客户端是另一个问题。
在多个客户端上实现 cobbler+puppet 的最佳解决方案是什么?我猜有比我上面提到的更优雅的解决方案。
谢谢。
答案1
Cobbler 在没有system
定义的情况下也能正常运行,但它无法完全无人值守地运行,因为它会显示 Cobbler 和 IIRC 中定义的所有配置文件的菜单,默认启动到硬盘而不是安装程序,所以你必须有屏幕和键盘(或远程控制台)。
然后,您可以通过 DHCP 向客户端提供一个 IP 地址,并将通用主机名预先添加到 DNS 中,类似的dhcp060
东西,它应该在安装期间用作客户端名称。
但实际上,收集 10 个客户端的 MAC 地址并不困难。对于未知的 MAC 地址,我通常会将系统启动到 PXE,在开始 DHCP 请求时立即暂停,从屏幕上读取 MAC 地址并将其输入到“主机生成”脚本中,该脚本会添加 DNS、DHCP、Cobbler、Puppet 以及我的环境所需的任何其他条目。之后,我继续启动,它无需任何进一步的交互即可正常工作。