使用多个实例或复制来扩展 Chef

使用多个实例或复制来扩展 Chef

我有一个 Chef 服务器设置,但由于它服务于相当多的节点,服务器变得很慢。我想探讨两种情况,我想知道是否有人有这方面的经验:

  • 由于 Merb 是单线程的,是否可以运行多个 chef-server 实例并通过某些前端 Web 服务器(Apache 或 nginx)代理它们?
  • 有人设置过复制的 Chef 环境吗?CouchDB 和 RabbitMQ 可以集群化,但我该如何使用 Cookbook?

我没有找到很多关于这些主题的内容(特别是最后一个),我想知道这里是否有人做过其中的一些?

答案1

您可以使用 -c 标志运行 chef-server-api 的多个实例。

sudo chef-server -c 8

[编辑] 您需要一个共享文件系统,例如 glusterfs、nfs 或类似的系统来共享食谱。

您也可以使用 apache2 或 nginx 进行代理。Opscode 的 Chef cookbook 中有一个菜谱,应该可以帮助您进行设置。

https://github.com/opscode/cookbooks/blob/master/chef/recipes/server_proxy.rb

最后,该服务器确实是为轻松扩展而设计的,并且 Chef 中的许多配置指令都是由服务器用于此目的。

http://wiki.opscode.com/display/chef/Chef+Configuration+Settings

相关内容