我是 Chef 的新手,在阅读了文档后,我仍然无法理解何时使用属性以及何时使用数据包。
什么样的数据应该存储为属性,什么样的数据应该存储在数据包中?
谢谢
我是 Chef 的新手,在阅读了文档后,我仍然无法理解何时使用属性以及何时使用数据包。
什么样的数据应该存储为属性,什么样的数据应该存储在数据包中?
谢谢
这得看情况。虽然数据包和属性都保存数据,但它们之间的主要区别在于,属性在运行配方时作为节点属性公开,但是您没有清楚地了解使用了哪些数据包(除了您在运行列表)。
我个人存储在属性中的是:
在数据包中:
关于最后一点:一个例子是maven repositories list。存储库具有属性:名称、url、策略等。对于节点来说,配置什么存储库并不重要——重要的是它安装了 maven。另一个例子是用户,属性中只有可用的用户名。所有其他数据都在数据包中,尽管它可以被暴露——那里没有秘密数据。
当然,这是没有简单答案的事情之一。我的经验法则是,任何事物中的一种都属于数据包。例如,如果您有一个要使用fnichol 的用户手册在节点上创建的用户和组的列表,那么这就是一个数据包。为了调整 MySQL 服务器上的参数,它是属性。