Chef infra 在Chef中实现继承
在Puppet中,节点可以有一个继承层次结构,这有利于重用。可以定义包含一组派生节点的基础的公共变量和类。 然而,在Chef中,我找不到类似的构造。到目前为止,我遇到的唯一层次结构是属性 属性可以直接映射到Puppet节点继承吗?公共变量可以通过使用include_属性来定义和重写(Puppet类参数),但是调用其他配方怎么样 我能想到的一个解决方案是在元数据文件中提到依赖项 这是惯例吗Chef infra 在Chef中实现继承,chef-infra,puppet,Chef Infra,Puppet,在Puppet中,节点可以有一个继承层次结构,这有利于重用。可以定义包含一组派生节点的基础的公共变量和类。 然而,在Chef中,我找不到类似的构造。到目前为止,我遇到的唯一层次结构是属性 属性可以直接映射到Puppet节点继承吗?公共变量可以通过使用include_属性来定义和重写(Puppet类参数),但是调用其他配方怎么样 我能想到的一个解决方案是在元数据文件中提到依赖项 这是惯例吗 更新:到目前为止,我所做的是使用include_属性和include_recipe创建配方和托管依赖项,然后
更新:到目前为止,我所做的是使用include_属性和include_recipe创建配方和托管依赖项,然后为应该出现的每个配方集合创建角色。这似乎是目前最好的方法,因为库、应用程序、包装器模式对于我的需求来说过于“细化”。属性可以在许多地方定义,包括和。我认为这是一个概念,在文档的一节中有很好的解释
事实上,在设置节点属性时,这种多样的自由度需要特定基础结构中的一些约束(以避免混淆)。文章中描述了一个想法。也许这会给你一个想法,你可以如何与Chef一起处理这个问题。这是一本非常好的书,Stephen,尽管它与我所面临的一些特定要求有一点不同。我将用我所采取的方法更新这个问题。我从未见过有人使用
include_attributes
,但是如果out适合你,那就很好了。因此,这可能不是厨师的“标准”用法,但可以随意使用这种方法。