我开始学习厨师,Berkshelf和Vagrant。我设法使用Chef Server部署了一个简单的应用程序,但是当我尝试使用Chef Solo时,我遇到了一些错误:
连接被拒绝 - 连接被拒绝连接到localhost:4000 for / search / node,放弃或者无法使用client.pem
基本上它缺少加密的数据包和搜索功能。有没有办法模拟这个功能?
我想使用Chef Solo进行测试,因为每当我使用Berkshelf进行流浪汉配置时,它会重新上载我的所有食谱,每次大约需要1-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
就是这样