分散式木偶体系结构的优缺点


14

我们目前大约有300台RHEL服务器正在连接到Puppetmaster服务器。但是,我们注意到了一些性能瓶颈,这是我们系统中的故障点。我一般对puppet还是陌生的,我正在考虑创建一个分散的puppet体系结构,而不是让Puppet客户端连接到Puppetmaster服务器。除了我会怀疑会发生的事情(例如性能提升,缺乏对新机器的签名和交换SSL证书)之外,建立分散式架构还有其他利弊吗?


3
是否有理由必须采用一种方法或另一种方法?您是否考虑过介于两者之间的选项?拥有这么多服务器,并且担心单点故障,那么为什么不设置其他主服务器呢?“ Pro Puppet”一书介绍了设置多个负载平衡的木偶服务器。有很大的灵活性,如果有必要的话,甚至可以设置of服务器的层次结构。
Zoredache

@Zoredache确实没有理由必须采用一种或另一种方式,我通常是在寻求有关分散式架构的更多信息,以帮助简化决策。我考虑过其他大师,但我对此不提道歉的想法的核心是减少服务器数量,因为它直接影响我们的预算。我同意,对balancing服务器进行负载平衡是有意义的,但是如果我可以一起摆脱服务器,那将是最好的解决方案。
JMeterX

Answers:


7

去分散。

而不是签署证书,而是使用ssh密钥。不要把钥匙交给非管理员

您可以将Git用作传输而不是颠覆,然后可以分支到不同的机器/角色,然后对更改进行版本控制,并允许...但此时您必须了解DVCS spiel。

设置起来更快,更灵活。添加一些提交挂钩以进行完整性检查。

现在,在这一点上,您已经用ssh和git替换了puppetmaster及其客户端-服务器模型,二者的伸缩性都比puppetmaster好。

现在,您的组织中可能需要层次结构。没问题,只需将包含确定分支的git repo存储在安全的地方。

奖金:

git blame

将允许您查看谁进行了更改。

http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control

https://www.braintreepayments.com/braintrust/decentralize-your-devops-with-masterless-puppet-and-supply-drop吗?


3

你在乘客中玩偶吗?存储的配置?只要您处理基本的设置问题,那么对于300个节点,您实际上根本就不会遇到可扩展性问题。


1
我们正在使用Apache + Passenger配置。我们还使用Subversion将更改推送到
Puppetmaster

1

去中心化是最好的方法,因为每个客户端都可以从清单资源的本地副本编译自己的清单。每次您从git服务器推送更新时,此更新都会更新。由于客户不必每次运行都与puppetmaster联系,带宽使用效率大大提高。由于可以从任何地方更新客户端,因此还消除了单点故障。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.