是否可以在 Chef 中包含整个食谱 - 食谱包含的每个食谱,而无需手动添加每个食谱?
Is it possible to include a whole cookbook in Chef - every recipe that the cookbook contains, without manually adding each?
如题。执行 include_recipe 'cookbook1'
将仅包括食谱名称 cookbook1
中的 default
食谱。如果我将执行 include_recipe cookbook1::recipe1
,那么它将包括来自 cookbook1
的食谱 1。我可以包括食谱中的每个食谱吗?像 include_recipe cookbook1::all_recipes
这样的东西?还是我需要手动添加它们中的每一个,像这样:
include_recipe 'cookbook1::recipe1'
include_recipe 'cookbook1::recipe2'
include_recipe 'cookbook1::recipe3'
此外,如果我使用一本包含许多食谱(几十个,至少 40 个)的食谱,然后将它们中的每一个都包含在 default
食谱中,这会不会有问题?它会大大降低 chef-client 的执行速度吗?
首先,您不能包括所提到的所有食谱 include_recipe cookbook1::all_recipes,
是的,如果必须按顺序 运行,你可以在 default.rb 中使用 40 个食谱,如果你有 40 个食谱用于一个目的并添加到节点 运行 列表,我建议创建一个角色
当你 运行 宁 40 食谱并且其中有大量资源时,显然需要一些时间来执行,你的 chef-client 也可能取决于其他因素,例如你的资源正在使用 运行 和其中的命令,节点的硬件能力,网络带宽,如果你有一个远程文件从远程位置下载一些文件等..
如题。执行 include_recipe 'cookbook1'
将仅包括食谱名称 cookbook1
中的 default
食谱。如果我将执行 include_recipe cookbook1::recipe1
,那么它将包括来自 cookbook1
的食谱 1。我可以包括食谱中的每个食谱吗?像 include_recipe cookbook1::all_recipes
这样的东西?还是我需要手动添加它们中的每一个,像这样:
include_recipe 'cookbook1::recipe1'
include_recipe 'cookbook1::recipe2'
include_recipe 'cookbook1::recipe3'
此外,如果我使用一本包含许多食谱(几十个,至少 40 个)的食谱,然后将它们中的每一个都包含在 default
食谱中,这会不会有问题?它会大大降低 chef-client 的执行速度吗?
首先,您不能包括所提到的所有食谱 include_recipe cookbook1::all_recipes, 是的,如果必须按顺序 运行,你可以在 default.rb 中使用 40 个食谱,如果你有 40 个食谱用于一个目的并添加到节点 运行 列表,我建议创建一个角色 当你 运行 宁 40 食谱并且其中有大量资源时,显然需要一些时间来执行,你的 chef-client 也可能取决于其他因素,例如你的资源正在使用 运行 和其中的命令,节点的硬件能力,网络带宽,如果你有一个远程文件从远程位置下载一些文件等..