Chef:将菜谱上传并重新应用到节点

j7n*_*n7k 2 ruby chef-infra

这是一个n00b问题,但厨师文档没有帮助.

说我改变了食谱的代码.我将它上传到我的厨师服务器.我可以使用这本食谱将更改应用到我的节点吗?

jti*_*man 9

正如Draco评论的那样,您在节点上运行Chef.他们将从服务器自动下载cookbook中已更改的文件.

sudo chef-client
Run Code Online (Sandbox Code Playgroud)

如果您正在运行Chef作为服务(通过Opscode的chef-client cookbook服务配方或其他方式设置),它将在某个时刻自动运行.由于您使用的是Chef服务器,因此您还可以使用它knife ssh来执行搜索并一次在多个节点上运行该命令.

knife ssh "*:*" "sudo chef-client" -x youruser
Run Code Online (Sandbox Code Playgroud)

将" : " 替换为任何Chef Search Query.

此外,这是环境有用的地方,因为您可以将特定版本的cookbook固定到环境中的节点,因此在您修改允许使用的版本之前,它们不会获得在cookbook中所做的更改.例如,如果您的菜谱版本为1.0.0,并将"生产"固定为("= 1.0.0"),则在上传之前递增版本(1.0.1),然后生产节点将无法获得新版本,直到环境中的版本更新到较新版本.