我是Chef的新手,在阅读完文档后,我仍然无法理解何时使用属性以及何时使用数据包。
应将哪种数据存储为属性,以及应将哪种数据存储在数据包中?
由于
答案 0 :(得分:24)
嗯,这取决于。虽然数据包和属性都包含数据,但它们之间的主要区别在于,在运行配方时属性会作为节点属性公开,但您没有清楚地了解使用了哪些数据包(除非您在运行列表)。
我个人存储在属性中的是:
在数据包中:
关于最后一点:一个例子是maven存储库列表。存储库具有属性:名称,URL,策略等。对于节点来说,配置什么存储库并不重要 - 重要的是它已经安装了maven。 另一个例子是用户,只有可用的用户名在属性中。所有其他数据都在数据包中,虽然它可以暴露 - 没有秘密数据。
答案 1 :(得分:1)
当然,这是一个没有简单答案的事情之一。我的经验法则是,任何属于许多东西的东西都属于数据包。例如,如果您要使用fnichol's users cookbook在节点上创建用户和组的列表,那么这是一个数据包。为了调整MySQL服务器上的参数,它的属性。