是否可以从厨师食谱中设置数据包值?我需要从一个特定节点收集一些信息,然后与另一个节点共享。我想在食谱里面做,而不是用刀手动做。
问问题
1753 次
1 回答
3
TL;博士
你在技术上可以做到,但不要。不应动态修改数据包。这将使系统状态几乎无法推理。
相反,使用ohai在运行时收集有关本地节点的信息,或使用ruby_block查询远程节点上的 ohai 或其他数据收集活动。
不要这样做
这个用例在Chef 数据包文档中专门解决。文档说不这样做,并解释了原因。
不建议从配方创建和编辑数据包或数据包项的内容。更新数据包或数据包项的推荐方法是使用刀和刀数据包子命令。如果必须从配方中执行此操作,请注意以下几点:
如果两个操作同时尝试更新数据包的内容,则最后一次写入的尝试将是更新数据包内容的操作。这种情况可能导致数据丢失,因此组织应采取措施确保一次只有一个厨师客户对数据包进行更新。
使用开源 Chef 服务器时从节点更改数据包需要授予节点的 API 客户端管理员权限。在大多数情况下,这是不可取的。
如果您还是决定这样做,文档会提供一些有限的指导。但是,如果你打破它,你可以保留两半。:)
于 2016-09-08T21:10:49.527 回答