gpt4 book ai didi

chef-infra - 如何从 Chef 数据包中访问当前值?

转载 作者:行者123 更新时间:2023-12-04 07:57:05 28 4
gpt4 key购买 nike

我有一台由 Chef 管理的服务器。
我需要从不是由 Chef 运行的脚本访问一些存在于 Recipe 数据包中的值。

/* Chef REST API 允许访问 Chef 服务器所看到的数据包值。这不是我想要的。每个chef-client run 可能会引入许多协调的更改,包括数据包中的更改。如果服务器上的数据已经更改,但 chef-client尚未在本地运行,本地设置和服务器端数据包可能不同步。 */

我看到两个解决方案:

  • 解析/导入/var/cache/chef/cookbooks/<book-name>下的数据包文件因为它或多或少是普通的Ruby。
  • 在配方中,将数据包中的相关数据转储到可从我的脚本访问的纯文件中。

  • 有更好的选择吗?

    最佳答案

    将节点哈希或数据包中的数据转储到单独的文件中是在 Chef 服务器和节点上运行的脚本之间进行通信的好方法。如果您的脚本可以解析 JSON,那么这真的很容易:

    file "/etc/script.json" do
    owner "root"
    group "root"
    mode 0644
    content node[:whatever].to_json
    end

    使用 Chef REST 接口(interface)听起来有点矫枉过正,在/var/cache/chef 中摸索是不礼貌的。 (-:

    关于chef-infra - 如何从 Chef 数据包中访问当前值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10318919/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com