最少的 Chef 配置和部署?

And*_*oud 6 chef chef-solo knife

我已经两次阅读了关于 Chef 的文档。我仍然无法理解它的概念,因为他们跳过了基础知识并跳转到了带有 Chef-server 的复杂部署。

使用厨师独奏和可能的刀,是否有一种简单的方法来配置服务器和部署?

我可能错了,但看起来我的食谱已经准备好了,这应该简单。

knife rackspace server create --flavor 1 --image 112
Run Code Online (Sandbox Code Playgroud)

这提供了我的服务器。我可以选择传递 --run-list "recipe[mything]",但是我在 ~/my_cookbooks 中的食谱实际上是如何到达服务器的?我必须手动转移它们吗?这似乎适得其反。

Mac*_*cki 6

如果你使用chef-solo,你就不能使用刀。Knife 是厨师服务器的 API 客户端,带有一些额外的实用程序糖(就像knife rackspace server create您提到的那样)。

要使用chef-solo 配置服务器,您应该将您的chef 存储库复制到服务器,并通过ssh 在那里运行chef-solo。据我所知,没有现成的脚本或刀插件可以自动完成。

命令knife rackspace server create创建新的 Rackspace 服务器,然后通过调用knife bootstrap. 它不会轻易与厨师独奏一起工作。

从技术上讲,knife bootstrap因此knife rackspace server create,可以通过编写自定义引导程序模板来强制使用chef-solo,该模板将下载您的chef 存储库并运行chef-solo-see knife bootstrap --help、其维基页面或源代码,而不是初始化chef-client 。细节。您可以在此处查看安装 Chef-client 的示例模板。但是,这是一项高级功能,并且没有很好的文档记录。

如果您不想处理安装和管理自己的主厨服务器的复杂性,您可以使用 Opscode 托管主厨的免费层,这是主厨服务器 SAAS 产品,最多可免费使用三个节点。无论如何,我建议开始使用服务器进行任何认真的工作-chef-solo 与不错的引导 shell 脚本一样好,仅此而已,并且您错过了许多重要/有趣的功能,例如搜索和数据包,这些功能使您可以以数据驱动的方式配置您的服务器。

  • 澄清一下,Chef-solo 用户*可以*使用knife,只是不是默认情况下随附的所有子命令。具体来说,与 Chef 服务器一起运行的子命令:-)。 (2认同)

小智 5

查看Knife-solo插件,它可以自动在您的远程服务器上安装 Chef-solo,将您的食谱上传到它,然后运行 ​​Chef-solo。它基本上自动化了回答这个问题的其他人建议做的事情。