我只是想提出这个问题。
我有 2 个地理位置,A 和 B。有一个 OOB 网络将 A 和 B 连接在一起,即位置 A 中的管理设备可以 ping 位置 B 中的管理设备,反之亦然。每个位置都有一个生产网络。但是,位置 A 中的生产网络无法 ping 位置 B 中的管理设备,位置 B 中的生产设备也无法 ping 位置 A 中的管理设备。
我正在实施 Puppet,对架构有疑问。我考虑在位置 A 设置一个 Puppet Master,在位置 B 设置一个 Puppet Slave。我想要一个管理仪表板,它能让我查看两个生产网络中的所有节点。我希望生产网络中位置 A 的 Puppet 客户端只能与位置 A 的 Puppet Master 对话,生产网络中位置 B 的 Puppet 客户端只能与位置 B 的 Puppet Slave 对话。
我假设这实际上相当容易设置。我会将客户端 puppet.conf 文件指向正确的位置,并且由于 puppet 服务器处于主从设置中,因此仪表板将能够从两个服务器获取数据并将所有信息整理到一个仪表板中。
这能行吗?
答案1
它实际上比实际更难实现,但绝对可以集中您的清单、模块、证书颁发机构和仪表板功能,而不需要客户端节点与“中央”傀儡主机进行通信。
- 使用版本控制系统集中您的清单和模块,并使其在两个 Puppet 主服务器上保持同步。
- 来自站点 B 中客户端的证书 API 请求将需要由站点 B puppet master 代理到站点 A puppet master,因为它将成为中央证书颁发机构。
- 应配置站点 B 的 Puppet Master,以将运行报告发送到站点 A Master 上的仪表板服务(并且可选地将库存数据发送到中央库存服务,以使其可在仪表板中访问)。
我的回答对同样的内容进行了更详细的介绍这里,也一样。
配置所有这些以使其无缝运行是一项艰巨的任务,但您应该能够实现它 - 请让我知道您对所需的内容有哪些疑问。