我正在研究一个厨师实现,有时在过去的地方使用了 attribute.set,attribute.default 会这样做。为了解决这个问题,我对 Chef 属性优先范式非常熟悉。我知道“正常”属性(使用 attribute.set[] 分配)在厨师客户端运行之间持续存在。
这让我想知道使用 attribute.set 的常见和最佳方法是什么?我不明白在 Chef 客户端运行之间的节点上保留属性分配的值(value)?
最佳答案
使用场所node.set
当您需要某种状态但不能(轻松)将其存储在系统中时。这在自生成数据库密码中很常见。您需要将它存储在某个地方,通常是因为其他节点需要密码,但数据库本身只存储散列值,因此您无法从那里检索它。使用节点对象作为有状态存储为您提供了一个放置数据的地方。
也因为我不得不说,像这样存储密码是非常不安全的,请不要。
关于attributes - 为什么在 Chef 中使用普通属性(attribute.set[..])?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24560474/