![需要 Puppet 服务器大小和规模限制](https://linux22.com/image/607832/%E9%9C%80%E8%A6%81%20Puppet%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%A4%A7%E5%B0%8F%E5%92%8C%E8%A7%84%E6%A8%A1%E9%99%90%E5%88%B6.png)
我的公司正在考虑采用 Puppet 来管理我们的基础设施。我们听说 Puppet 不如 CFEngine 等其他解决方案那么高效。有人有关于 Puppet 服务器可以支持多少个节点的确切数据吗?有没有关于此的规模或最佳实践文档?到目前为止,我找不到任何有关 Puppet 3 的信息。
编辑以了解更多细节。我们计划从分布在 3 个物理位置的 4000 个节点开始,并计划在这些位置扩展到最多 10000 个节点,并覆盖公共云提供商。我们对这些节点使用 CentOS 5 和 6。puppet 是适合此目的的工具吗?我应该计划使用多少个 puppetmaster 来管理 4000 个节点?
答案1
不幸的是,Puppetmaster 的扩展取决于许多变量。没有一份规划文档可供您参考,以了解在开始进行调整之前可以向主节点投入多少个节点。
以下环境差异会影响主节点比率:
- 一个周期内提取的文件数量
- 代理更新目录数据的频率
- 未暂存节点被暂存的频率(合理化现有节点很快,暂存全新节点的成本很高)
- 应用模块的复杂性
- 任何可能超出库存的插件
如果混合比例不对,即使 500:1 也太多了。如果混合比例正确,则可以达到四位数甚至五位数比一。
答案2
我建议您在这个问题上提供一些数字。
我见过大型的傀儡环境(1200+台服务器)。
至少尝试回答这些问题:
- 您想要服务的节点数量?
- 一个 DC 还是多个 DC#(架构设计对此很重要)?
- 您使用多少种不同的操作系统?(哪些 Linux 发行版 + 版本)?
我认为图片可以更清楚地回答。
答案3
Puppetmaster 默认带有一个在 WebBrick 上运行的服务器 - 这是一个简单的解决方案,最多可运行 50-60 个主机(取决于清单的复杂性)。如果超过这个数量,您需要对其进行扩展。扩展单个主机的简单方法是使用 apache 和 mod_passanger -http://projects.puppetlabs.com/projects/1/wiki/using_passenger
有不同的解决方案,这主要取决于您计划如何使用 puppetmaster。在简单的设置中,您可以简单地添加一些负载平衡的 puppetmaster。在这种情况下,唯一的问题是同步证书和清单。为了“修复”证书,您可以将 CA 部分从 puppetmaster 移动到专用服务器(有两个带 ha 的服务器)。
回答您关于 Cfengine 的问题,Puppet 有更多的扩展选项。