这是一个 n00b 问题,但 Chef 文档无济于事。
假设我更改了食谱的代码。我将它上传到我的厨师服务器。如何使用这本说明书将更改应用到我的节点?
正如 Draco 评论的那样,您在节点上运行 Chef。他们将自动从服务器下载食谱中更改的文件。
sudo chef-client
如果您将 Chef 作为服务运行(通过 Opscode 的chef-client cookbook 服务配方或其他方式设置),它将在某个时候自动运行。由于您使用的是 Chef Server,因此您还可以使用knife ssh
它一次在多个节点上执行搜索和运行命令。
knife ssh "*:*" "sudo chef-client" -x youruser
将“ : ”替换为任何Chef 搜索查询。
此外,这也是环境有用的地方,因为您可以将特定版本的说明书固定到环境中的节点,因此在您修改允许使用的版本之前,它们不会获得说明书中所做的更改。例如,如果您有 1.0.0 版本的食谱,并将“生产”固定到该版本(“= 1.0.0”),然后在上传之前增加版本(1.0.1),那么生产节点将无法获得新版本,直到环境中的版本更新为较新的版本。