![使用多个实例或复制来扩展 Chef](https://linux22.com/image/539741/%E4%BD%BF%E7%94%A8%E5%A4%9A%E4%B8%AA%E5%AE%9E%E4%BE%8B%E6%88%96%E5%A4%8D%E5%88%B6%E6%9D%A5%E6%89%A9%E5%B1%95%20Chef.png)
我有一个 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