如何在Application_python中使用Chef Solo

时间:2013-06-05 22:00:12

标签: chef chef-solo berkshelf

我开始学习厨师,Berkshelf和Vagrant。我设法使用Chef Server部署了一个简单的应用程序,但是当我尝试使用Chef Solo时,我遇到了一些错误:

  

连接被拒绝 - 连接被拒绝连接到localhost:4000   for / search / node,放弃或者无法使用client.pem

基本上它缺少加密的数据包和搜索功能。有没有办法模拟这个功能?

我想使用Chef Solo进行测试,因为每当我使用Berkshelf进行流浪汉配置时,它会重新上载我的所有食谱,每次大约需要1-2分钟。

2 个答案:

答案 0 :(得分:1)

Chef-solo与Chef相比功能有限。如果Chef-solo不符合您的需求,您可以轻松切换到Hosted Chef(或类似)并将其与您的Vagrant设置一起使用。

要回答您的问题......请查看docs似乎:

  

chef-solo可以从数据包加载数据,只要该数据包的内容可以从与chef-solo相同的机器上的目录结构访问。可以使用solo.rb文件中的data_bag_path选项配置此目录的位置。每个子目录的名称对应于数据包,子目录中的每个JSON文件对应于数据包项。当他们与chef-solo一起运行时,搜索在配方中不可用;使用data_bag()和data_bag_item()函数来访问数据包和数据包项目。

如果您想添加搜索功能,相同的文档建议:

  

使用chef-solo-search cookbook库(由Opscode社区成员“edelight”开发,可从github获得)将数据包搜索功能添加到chef-solo环境中:

最后,您的评论:

  

我想使用Chef Solo进行测试,因为每当我使用Berkshelf进行流浪汉配置时,它会重新上载我的所有食谱,每次大约需要1-2分钟。

不是很有效(如果我理解正确的话)。无论您使用Hosted Chef,Open Source Chef还是Chef-solo,烹饪书的上传都不会受到影响。如果您总是添加一组全新的烹饪书,则上传可能需要更长时间,但通常只需对一些烹饪书进行一些细微更改并上传新版本。在进行配置时,只会将更新的烹饪书下载到计算机,并且在进行配置时,所有内容都将从本地版本运行。整个过程的时间不应该超过您在Chef-solo中遇到的时间。

除了你提到的之外,还有其他原因可以使用Chef-solo。看看你的需求是什么,并决定什么是最适合你的。

答案 1 :(得分:0)

由于这篇文章在谷歌安静得很好,但答案已经过时,我虽然添加了一些内容:

这个限制不再存在,因为厨师独奏已被厨师零所取代。简而言之,厨师零是一个特殊的厨师独奏与当地厨师服务器。

现在将搜索和所有其他功能添加到厨师“非服务器模式” - 您只需要从chef-solo更改为chef-zero。

像测试厨房这样的工具已经非常大量地使用它,因为它们总是在流浪盒上以“无服务器模式”部署以进行测试。要升级.kitchen.yml,只需更改/调整您的配置文件:

provisioner: name: chef_zero

就是这样