我们有大约 300 台 RHEL 服务器当前连接到 Puppetmaster 服务器。但是,我们注意到一些性能瓶颈,这是我们系统的故障点。我对 Puppet 还不太熟悉,我正在考虑创建一个分散的 Puppet 架构,而不是让 Puppet 客户端连接到 Puppetmaster 服务器。除了我怀疑会发生的性能提升以及无需为新机器签署和交换 SSL 证书等情况外,建立分散架构还有哪些其他优缺点?
答案1
走向去中心化。
不要签署证书,而是制作 ssh 密钥。不要将密钥交给非管理员
您可以使用 Git 而不是 subversion 作为传输方式,然后可以为不同的机器/角色进行分支,然后对更改进行版本控制,以及允许......但此时您必须了解 DVCS 的说法。
它更快,设置起来也更简单。添加一些提交钩子以进行健全性检查。
现在,您已经用 ssh 和 git 替换了带有客户端-服务器模型的 puppetmaster,这两者都比 puppetmaster 具有更好的扩展性。
现在,您的组织可能需要层次结构。没问题,只需将包含最终分支的 git repo 存储在安全的地方即可。
奖金:
git blame
将允许您查看谁做了更改。
http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control
答案2
您是否在乘客端运行 Puppet?存储的配置?只要您处理好基本设置问题,300 个节点就根本不应该有可扩展性问题。
答案3
去中心化是最好的方法,因为每个客户端都从清单源的本地副本编译自己的清单。每次从 git 服务器推送更新时,都会更新清单。带宽利用率更高,因为客户端不必在每次运行时联系 puppetmaster。还可以消除单点故障,因为客户端可以从任何地方更新。