是否可以在Chef中包含整个食谱-食谱包含的每个食谱,而无需手动添加每个食谱?

时间:2019-07-13 06:45:03

标签: chef chef-recipe

与标题中一样。进行include_recipe 'cookbook1'只能包括食谱名称default中的cookbook1个食谱。如果我要做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食谱中,是否会出现问题?会大大延迟厨师客户的执行速度吗?

1 个答案:

答案 0 :(得分:1)

首先,您不能包括提到的所有食谱include_recipe cookbook1 :: all_recipes, 是的,如果必须按顺序运行,则可以在default.rb中使用40个配方,如果您有40个配方用于一个目的并添加到节点运行列表中,我建议创建一个角色 当您运行40个配方并且其中包含大量资源时,显然将需要一些时间来执行,并且您的厨师客户可能还取决于其他因素,例如您用于运行和命令的资源其中,包括节点的硬件功能,网络带宽,是否有远程文件可以从远程位置下载某些文件等。