【问题标题】:Dynamically get information from Databags -Chef从 Databags 动态获取信息 -Chef
【发布时间】:2013-01-22 20:37:30
【问题描述】:

我正在使用厨师版 [厨师:10.14.4]。我想创建几个配方,用于在数据包中读取和写入有关在不同服务器上运行的不同服务的动态信息。

这是一个例子:

  1. 我正在 server1、server2 和 server3 上运行 apache 服务。
  2. 现在,在我的 server1 配方中,我想启动/执行 Web 服务,但在此之前我需要确保 server1、server2 和 server3 正在运行 apache 服务。

问题是:

  • 如何为 apache 服务设计一个配方来动态更新数据包?
  • 如何设计 Web 服务配方以从数据包中获取动态更新的信息?

或者,有没有其他方法可以做到这一点?

【问题讨论】:

    标签: chef-infra


    【解决方案1】:

    您不必使用数据包让一台服务器了解另一台服务器。使用search。您可以按属性、配方、标签等搜索节点。在您的情况下,您可以搜索在运行列表中具有您的 apache 服务的节点。如果您通过搜索获得所有 3 个节点,那么希望它们运行 apache。

    如果您仍想/需要从配方更新数据包,请参阅Data Bags help 中的在配方中创建和编辑数据包

    【讨论】:

    • 谢谢回复。如何使用搜索获取所有三个节点以及在它们上运行的 apache 服务的状态?可以举个例子吗?
    • 您无法获取 apache 服务的状态,但如果您有一个启动 apache 服务的配方,您可以假设在 [extended] 运行列表中拥有它的节点有 apache 正在运行。跨度>
    猜你喜欢
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 2020-09-12
    相关资源
    最近更新 更多